this 的指向

函数的this指向遵循一个基本原则:谁调用的函数,函数的this就指向谁,否则指向全局
var name="李四"
var a = {
name: "张三",
say: function () {
return this.name;
}
}
a.say()
console.log(a.say()); //张三
//这里调用say(),里面的this指的就是对象a,函数调用者,而对象a的属性name的值为a,所以这里返回的就是"张三"

    var f = a.say
    f();
    console.log(f());//李四

//这里的f()的调用的默认指的是window,而声明的变量name="李四",是挂在window上的,所以这里的this.name返回的值就是"李四"

你可能感兴趣的:(this 的指向)