gpt4 book ai didi

javascript - 如何在 Javascript 中从外部作用域调用函数?

转载 作者:行者123 更新时间:2023-12-02 16:48:14 26 4
gpt4 key购买 nike

考虑代码:

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(); // (*)
}
}

匿名“load”处理函数的范围没有名称,也没有任何其他句柄,函数“bar”中的代码可以通过该句柄指示它想要引用“foo”本地的。

请注意,Coffeescript 明确不允许这样做;它不允许本地符号隐藏更全局的符号。 (在您跳上 Coffeescript 列车之前,这是 controversial feature of the language 。)

关于javascript - 如何在 Javascript 中从外部作用域调用函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26915284/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com