var x = 3;
var foo = {
x: 2,
baz: {
x: 1,
bar: function() {
return this.x;
}
}
}
var go = foo.baz.bar;
alert(go());
alert(foo.baz.bar());
回答
星辰回答
问题分析:
这个题主要考察this的指向问题,;
alert(go()); 这个go函数执行的上下文为window 所以结果为3;
alert(foo.baz.bar());这个bar函数是foo.baz对象的方法,this指向该对象所以结果为1;
this总结:
1. 普通函数中的this 指向window(如果是严格模式指向undefined);
2. 对象方法中的this指向该对象;
3. 定时器中的this 指向window;
4. 构造函数中的this 指向实例对象;
(1)
相似问题