![](/img/trans.png)
[英]How to call an outer scope function from within a JS module class
[英]How to call a function from outer scope in Javascript?
考虑一下代码:
function foo()
{
console.log('foo');
}
function bar()
{
var foo = 5;
foo(); // (*)
}
如何使(*)
引用外部函数而不是局部变量?
如果外部范围是全局范围,则可以执行
window.foo(); // assuming you're in a browser
如果没有,那你就不走运了。 给局部变量起另一个名字。
一个不走运的例子:
window.onload = function() {
function foo()
{
console.log('foo');
}
function bar()
{
var foo = 5;
foo(); // (*)
}
}
匿名“加载”处理程序函数的范围没有名称,或任何其他句柄,函数“ bar”中的代码可以通过该句柄指示其希望引用该 “ foo”而不是本地引用。
注意,Coffeescript明确禁止这样做; 它不允许本地符号隐藏更全局的符号。 (这是该语言的一个有争议的功能 ,在您跳上Coffeescript火车之前。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.