js中tihs指向的一个问题

2018-02-02  本文已影响0人  施主画个猿

代码如下

var a={
    name:"xuxu",
    getname:function(){
        console.log(this);
        var b=function(){
            console.log(this);
        }
        b();
        console.log(Window);
    }
}
a.getname();

当函数不作为对象的属性被调用时,也就是我们常说的普通函数方式,此时的this总是指向全局对象 也就是说一个对象的属性是一个函数,如果这个函数由这个对象调用,那么这个函数里面的this是指向这个对象的,但是这个函数内部的函数,是按上面这句话执行的,因为b函数不是直接当做a的属性调用的,它是普通调用因此默认指向window

上一篇下一篇

猜你喜欢

热点阅读