我知道this
指向函数在其上运行的当前对象。所以这里是根据定义的代码
function foo(){
alert(this); //output==window
}
所以,现在函数 foo 等于 window.foo() 但现在在这里
function foo(){
function fo(){
alert(this);
}
fo();
}
那么,现在foo
执行输出时又是窗口对象,为什么?因为嵌套this
应该引用不同的对象。因为 fo() 现在不在窗口对象上操作,因为 foo()==window.foo() .所以嵌套函数现在应该指向不同的对象
详情见这里:
function foo()
{
alert(this);
function fo(){alert(this);}
as();
}
如果现在,var x=new foo();than foo() 方法中的“this”指向对象对象,但嵌套的 this 指向全局对象,对吗?现在你应该清楚我的意思了