No. this
in JavaScript does not work like you think it does. this
in this case refers to the global object.
There are only 3 cases in which the value this
gets set:
The Function Case
foo();
Here this
will refer to the global object.
The Method Case
test.foo();
In this example this
will refer to test
.
The Constructor Case
new foo();
A function call that's preceded by the new
keyword acts as a constructor. Inside the function this
will refer to a newly
created Object
.
Everywhere else, this
refers to the global object.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…