JavaScript缺少自变量的上下文
下面是JavaScript的神秘行为。这是我的使用错误还是一些错误 JavaScript代码JavaScript缺少自变量的上下文,javascript,Javascript,下面是JavaScript的神秘行为。这是我的使用错误还是一些错误 JavaScript代码 function test(){ var self = this; self.func1 = function(){ debugger; // here self == Window } debugger; //here self == test func self.func1(); } var t = new test(); 我提供了JSFIDLE,您可以自己尝试
function test(){
var self = this;
self.func1 = function(){
debugger; // here self == Window
}
debugger; //here self == test func
self.func1();
}
var t = new test();
我提供了JSFIDLE,您可以自己尝试:
有人能解释一下为什么调用后会遗漏自变量的上下文吗 这不是bug,您只是看错了调试器 JS引擎注意到函数
func1
没有使用变量self
,因此需要对其进行优化测量。您在调试器中看到的是
如果您在函数中使用self
变量,例如console.log(self)
,您还会在调试器的关闭列表中看到它。看