js里比较难的部分文章推荐

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
原文地址:https://www.cnblogs.com/WildSky/p/11244229.html