javascriptの中の3つの典型的な情況の下でthisの意味
1681 ワード
thisの本意:関数に基づいて環境バインディングを実行します.
1)一般関数の内部では、window(スコープ内の第二層グローバルスコープ)が返されます.
2)オブジェクト内部の方法で、返したthisは、そのオブジェクトを指します.
1)一般関数の内部では、window(スコープ内の第二層グローバルスコープ)が返されます.
function test() {
return this;
}
alert(test());
2)オブジェクト内部の方法で、返したthisは、そのオブジェクトを指します.
var name = "The window";
var object = {
name: "MyObject",
getNameFunc: function() {
return this.name;
}
};
alert(object.getNameFunc());
3)匿名関数では、対象内であるかどうかにかかわらず、windowに戻る. function test() {
return function (){
return this;
};
}
alert(test()());// test,test() test()(), 。
var name="The Window";
var object = {
name: "My Object",
getNameFunc: function () {
return function () {
return this.name;
};
}
};
alert(object.getNameFunc()()); //"The Window"