Javascript-Garden から:
Foo.method = function() {
function test() {
//this is set to the global object
}
test();
}
テスト内から Foo にアクセスするには、Foo を参照するメソッド内にローカル変数を作成する必要があります。
Foo.method = function() {
var that = this;
function test(){
//Use that instead of this here
}
test();
}
誰でもこれを説明できますか?私が理解している限りthis
、グローバルスコープで呼び出された場合、グローバルオブジェクトを参照します。しかし、ここでは、メソッド内にある関数内で呼び出されます (最初の例)。2 番目の例では参照していないのに、グローバル オブジェクトを正確に参照しているのはなぜですか?