我遇到的东西说明了我显然还没有得到它.
任何人都可以解释为什么"这个"的价值在以下变化?
var MyFunc = function(){
alert(this);
var innerFunc = function(){
alert(this);
}
innerFunc();
};
new MyFunc();
Run Code Online (Sandbox Code Playgroud)
Sho*_*og9 18
在JavaScript中,this表示调用函数的上下文对象,而不是定义它的范围(或调用它的范围).因为MyFunc,这引用了正在创建的新对象; 但是innerFunc,它引用了全局对象,因为在innerFunc调用时没有指定上下文.
这往往this会使那些习惯于Java或类似OO语言的语言绊倒,其中几乎总是引用定义被调用方法的类的实例.请记住:JavaScript没有方法.或者课程.只是对象和功能.
| 归档时间: |
|
| 查看次数: |
508 次 |
| 最近记录: |