gpt4 book ai didi

javascript - 如何全局访问本地函数

转载 作者:行者123 更新时间:2023-11-29 20:59:17 27 4
gpt4 key购买 nike

我想从一个全局函数调用一个局部函数,但我得到了 foo is not defined 错误。正确且安全的方法是什么,因为我可能会发送一个 json 对象。

(function() {
function foo(js) {
// codes ....
console.log(js);
}
})();

function bar(result, validation) {
if (validation) {
// just call the function
foo(result);
}
}

上述方法旨在从 Popup window 中获取值.

弹窗按钮的onclick事件:

// ...
btn.onclick = function(x) {
try {
window.opener.bar(x.value, variablePassed);
} catch (err) {
alert("an error occured.");
console.log('err', err);
}
window.close();
return false;
}

上面的代码块将 2 个值传递给 bar 函数,在 bar 函数中,我只想将 a 值传递给 foo 函数这是一个重要的功能,这就是为什么我想把它放在本地,这样它就不能被客户端访问

最佳答案

你不能。这就是编写私有(private)函数的主要目的。

如果你想从外部调用它,你必须做一些事情来将函数暴露给更广泛的范围。 (即停止将其设为私有(private))。

例如:

var foo = (function() {
function foo(js) {
// codes ....
console.log(js);
}

return foo;
})();

查找揭示模块模式,寻找一种处理从这样的闭包中暴露多个事物的方法。

关于javascript - 如何全局访问本地函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47435781/

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