滿天的星座2017-06-28 09:27:33
obj.getFoo()
返回一个方程,赋值给了 f 。
f 通过 f()
被调用,没有明确的调用者,所以 this 就是 window
。
「obj」を取得したい場合は、これを行うことができます
リーリー阿神2017-06-28 09:27:33
だって、f()
实际运行的地方,this
是window
,由于没有通过call
或者bind
改变上下文,所以输出的就是window
で。
次のように置き換えることができます:
リーリーこちらself
就是指向window
了,所以return self.foo
就是return window.foo
,也就是'window'
。
曾经蜡笔没有小新2017-06-28 09:27:33
console.log(f()) の
f() は独立して呼び出されます
1. 呼び出し元の関数がオブジェクトによって所有されている場合、関数が呼び出されるとき、内部の this はオブジェクトを指します。
2. 関数が独立して呼び出された場合、関数内の this は未定義を指します。
お勧めの読書 http://www.jianshu.com/p/d647... お役に立てば幸いです
PHP中文网2017-06-28 09:27:33
関数の実行、関数本体内の this は関数の呼び出し元を指します
1. 次のコードでは、getFoo 関数の呼び出し元は obj なので、getFoo 関数内の this は obj オブジェクトを指します
リーリー2. getFoo 関数は無名関数を返し、それを変数 f に代入し、関数 f を実行します。このとき、関数 f の呼び出し元はウィンドウです。関数内では f もウィンドウを指します
リーリー