如果我运行以下内容......
function outer(){
function inner(){
}
inner();
}
内部将按预期第一次运行。
如果我尝试运行以下内容......
function outer(){
function inner(){
inner();
}
inner();
}
inner将按预期第一次运行,但随后在任何后续尝试失败,返回错误:ReferenceError:inner未定义
如果我将该函数公开给全局命名空间,它将再次起作用......
function outer(){
function inner(){
inner();
}
window.inner = inner;
inner();
}
有没有办法从内部引用嵌套函数而不将其添加到全局命名空间?
答案 0 :(得分:4)
您可以将该函数分配给执行范围内的局部变量
function outer() {
var inner;
inner = function () {
inner();
}
inner();
}