使用参数调用 JavaScript 自执行函数

问题描述 投票:0回答:1

我正在阅读并尝试一些自执行 JavaScript 函数的示例。我找到了一些关于如何调用它们的示例,但我对于创建和调用它们的正确方法仍然有点困惑。例如,如果我在这个自执行函数中有一个 foo 方法,它接受 2 个参数:param1 和 param2。我该如何调用这个方法?您可以传递全局对象,例如窗口、文档等。那些非全局但函数执行某些操作所需的参数呢?

这是一个例子:

foo.js

(function (window, document, $, undefined) {
    function foo(param1, param2) {
        //do stuffs here
    }
})(window, document, jQuery);

index.html:

 <script src="~/Scripts/Custom/foo.js"></script>
 <script type="text/javascript">
     var myFoo = new Foo("parameter1","parameter2"); 
 </script>
javascript iife
1个回答
4
投票

在全局范围内没有函数是 Ben Alman 所说的 IIFE 的全部要点。它们的要点是调用一些代码而不影响全局范围。您可以根据需要创建任意数量的计数器,并且它们不会相互影响,因为它们位于单独的“范围”中。

如果坚持在全局范围内使用 IIFE 来使用 Foo,则需要更新示例并需要将其分配给您在 IIFE 内传递的窗口参数。

(function (window, document, $, undefined) {
    window.Foo = foo;
    function foo(param1, param2) {
        //do stuffs here
    }
})(window, document, jQuery);

这样你将在全局范围内拥有 Foo ,因此你可以使用

new Foo(param, param)

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.