![](/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.