gpt4 book ai didi

javascript - 是否可以在立即调用的函数表达式中调用 JavaScript 函数

转载 作者:太空狗 更新时间:2023-10-29 13:39:43 25 4
gpt4 key购买 nike

我正在使用 jQuery 并将一个函数包装在一个立即调用的函数表达式中,如下所示:

<script type="text/javascript" src="jquery-1.8.3.min.js"></script>
<script type="text/javascript">
(function ($) {

var message = 'x called';

function x() {
alert(message);
}
})(jQuery);

x();
</script>

这将导致错误,因为函数“x”没有在立即调用的函数表达式之外定义。有没有办法在立即调用的函数表达式之外调用函数“x”?

最佳答案

仅当您以某种方式公开函数时。例如,您可以从外部函数返回它:

var x = (function ($) {

var message = 'x called';

function x() {
alert(message);
}

return x;
})(jQuery);

x();

或者,类似地,您可以将它返回到一个对象上:

var obj = (function ($) {

var message = 'x called';

function x() {
alert(message);
}

return {"x": x};
})(jQuery);

obj.x();

在函数内部声明的函数和变量不能从该函数外部直接访问,除非您通过返回某些内容或提供对在该函数外部声明的变量的引用来提供某种访问它们的方法。

关于javascript - 是否可以在立即调用的函数表达式中调用 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14245716/

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