滿天的星座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
f() in console.log(f()) 는 독립적으로 호출됩니다.
1. 호출자 함수가 개체에 의해 소유된 경우 함수가 호출되면 내부 this가 개체를 가리킵니다.
2. 함수가 독립적으로 호출되면 함수 내부의 this는 정의되지 않음을 가리킵니다.
추천도서 http://www.jianshu.com/p/d647... 도움이 되셨으면 좋겠습니다
PHP中文网2017-06-28 09:27:33
함수 실행, 함수 본문의 이 항목은 함수 호출자를 가리킵니다
1. 다음 코드에서 getFoo 함수의 호출자는 obj이므로 getFoo 함수 내부의 이는 obj 객체를 가리킵니다
으아악2. getFoo 함수는 익명 함수를 반환하고 이를 변수 f에 할당한 다음 함수 f를 실행합니다. 이때 함수 f의 호출자는 윈도우입니다. f 함수 내부에서도 창을 가리킵니다
으아악