https://www.cnblogs.com/xiaohuochai/p/5700590.html里面有一系列讲难的部分的文章
https://www.cnblogs.com/sspeng/p/6633204.html js里与this有关的关于函数的调用方式,比如下面这个代码没看文章之前,想到头破
var a = 0; function foo(){ console.log(this); function test(){ console.log(this); console.log(this.a); } return test; } var obj = { a : 2, foo:foo }; obj.foo()();//0
其实只要弄清楚,函数的独立调用以及方法调用就可以弄清楚上面的代码了,就比如下面这段代码
//虽然test()函数被嵌套在obj.foo()函数中,但test()函数是独立调用,而不是方法调用。所以this默认绑定到window var a = 0; var obj = { a : 2, foo:function(){ function test(){ console.log(this.a); } test(); } } obj.foo();//0