从匿名JavaScript函数访问变量
是否可以访问所述函数之外的匿名函数中的变量 我可能使用了错误的术语 使用下面的伪代码,是否可以在同一页面上加载的另一个脚本中访问var1从匿名JavaScript函数访问变量,javascript,variables,Javascript,Variables,是否可以访问所述函数之外的匿名函数中的变量 我可能使用了错误的术语 使用下面的伪代码,是否可以在同一页面上加载的另一个脚本中访问var1 function(i,e){ var var1; NewFunc.init = function(){ var1 = 5; }; } 是否可以访问所述函数之外的匿名函数中的变量 不,事实上这是我们使用函数的一个功能:隐藏东西。:-)下面将详细介绍为什么这不仅仅是语法上的怪癖 函数中的变量对于该函数和在其中创建的其他
function(i,e){
var var1;
NewFunc.init = function(){
var1 = 5;
};
}
是否可以访问所述函数之外的匿名函数中的变量
不,事实上这是我们使用函数的一个功能:隐藏东西。:-)下面将详细介绍为什么这不仅仅是语法上的怪癖
函数中的变量对于该函数和在其中创建的其他函数是完全私有的(这些函数“关闭”了创建它们的范围内的变量)。例如:
函数foo(){
var=42;
功能条(){
var question=“生命、宇宙和一切”;
console.log(问题,答案);//工作正常
}
console.log(问题,答案);//失败,出现引用错误,因为
//“问题”超出了范围
}
foo()代码>
是否可以访问所述函数之外的匿名函数中的变量
不,事实上这是我们使用函数的一个功能:隐藏东西。:-)下面将详细介绍为什么这不仅仅是语法上的怪癖
函数中的变量对于该函数和在其中创建的其他函数是完全私有的(这些函数“关闭”了创建它们的范围内的变量)。例如:
函数foo(){
var=42;
功能条(){
var question=“生命、宇宙和一切”;
console.log(问题,答案);//工作正常
}
console.log(问题,答案);//失败,出现引用错误,因为
//“问题”超出了范围
}
foo()代码>旁注:代码中有语法错误,这使得确定结构有点棘手。问题文本可能足够清晰,但值得修复代码……”我可能使用了错误的术语。“不,这只是一个完美的术语。啊,谢谢,只是想确定一下。旁注:代码中有语法错误,这使得确定结构有点棘手。问题文本可能足够清晰,但它值得修复代码……”我可能使用了错误的术语。“不,这只是一个完美的术语。啊,谢谢,只是想确定一下。我担心会是这样-谢谢你的快速回复@eggman:FWIW,添加了更多可能有助于您尝试修复的信息(您的“担心会是这样”向我暗示您正在尝试修复某些东西:-)。Crowder:是的,我们正在寻找解决方案,现在将尝试不同的方法。非常感谢您的详细解释,这无疑有助于理解函数中变量的范围。我担心会是这样-感谢您的快速响应@eggman:FWIW,添加了更多可能有助于您尝试修复的信息(您的“担心会是这样”向我暗示您正在尝试修复某些东西:-)。Crowder:是的,我们正在寻找解决方案,现在将尝试不同的方法。非常感谢您的详细解释,这无疑有助于理解函数中变量的范围。