我在函数内部有一组函数,变量temp在f1,f2,f3中可用,但不在f4中。它表示未被捕获的referenceerror:temp未定义。当我使用$ scope.temp它工作正常。有人可以帮我解释为什么在f4()中没有temp。感谢。
function(){
var temp = something;
f1(){}
f2(){}
f3(){
// added event listners
f4();
}
f4(){
// temp is not available
}
}
答案 0 :(得分:0)
确保你使用了var temp = something; not this.temp ,通过调用嵌套函数来改变上下文。
答案 1 :(得分:0)
你的例子实际上从未调用f4,所以我不得不做出一些假设,但似乎工作得很好。如果我对你的代码使用方式的假设是错误的,也许你可以提供更多的细节?
function foo(){
var temp = 'something';
function f1(){}
function f2(){}
function f3(){
// added event listners
f4();
}
function f4(){
// temp is not available
console.log(temp);
}
f3();
}
foo();