this指向
1.在JavaScript语言之中,一切皆对象,运行环境也是对象,所以函数都是在某个对象下运行,而this就是函数运行时所在的对象(环境)。
2.存函数的 地址 所属的对象,决定了this的运行环境。
实例:
function foo() {
console.log(this.a);
}
var obj2 = {
a: 2,
fn: foo
};
var obj1 = {
a: 1,
o1: obj2
};
obj1.o1.fn(); // 2
解释:foo存放的地址是obj2.fn,因此this的运行环境是obj2中。或者怎么找到foo的?先找obj2
看看下面这个经典小例子,试一下你懂了嘛
var color = "1";
var test = {
color: "2",
getc: function () {
var color = "0";
console.log(this.color);
}
};
var getc = test.getc;
getc();
test.getc();

浙公网安备 33010602011771号