关于JavaScript的this指向问题,精辟!!!

偶然间在掘金上发现一片分享,差点颠覆我js观,我发现我对js中的this指向问题还是存在误解,知其然并不知其所以然!!蓝瘦

记一篇关于this指向的前端随缘心得

分享中虽然反复强调一句话this 永远指向最后调用它的那个对象
我觉得要是在这样话上在圈三个重点会更好

this 永远指向【最后】【调用】它的那个【对象】

function foo() {
    console.log(this.a)
}

function test(fn) {
    fn(); 
}

var a = 20;
var obj = {
    a: 10,
    getA: foo
}

test(obj.getA);


//so, 最后-调用-对象是哪个?
//显而易见
//test -> fn() -> obj.getA ->  console.log(this.a)
//最后是在fn中调用,在找当前的作用域对象,window
//result  20
//这个例子很有意思
var obj = {
    a: 20,
    getA: function() {
        setTimeout(function() {
            console.log(this.a)
        }, 1000)
    }
}

obj.getA();

//resul 为 undefined ???
//现在结合上面那句话,最后-调用?谁调用setTimeout
//最后并不是obj,而是window对象,所以this指向window

相关文章

this、apply、call、bind
this

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容