美文网首页
关于JavaScript的this指向问题,精辟!!!

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

作者: 小毛蛋_ | 来源:发表于2018-03-23 10:59 被阅读0次

偶然间在掘金上发现一片分享,差点颠覆我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

相关文章

网友评论

      本文标题:关于JavaScript的this指向问题,精辟!!!

      本文链接:https://www.haomeiwen.com/subject/ybbtcftx.html