javascript - 模块中定义的 js 函数可以在模块外部访问吗?

标签 javascript jquery function module

我当前有一些代码,如下所示:

 // when the document is ready
   execute myFunction();

  (function($){
      function myFunction()
       {
         // code 
       };
  })(jQuery);

控制台说 myFunction 未定义...为什么?

最佳答案

它不可访问,因为您已将函数放入另一个自调用函数中,并且对它的调用位于该函数之外。

您的评论表明您希望在加载时调用 myFunction() ,如果您当前的代码有效,则无论如何都不会出现这种情况。它会在 DOMReady 之前调用该函数。

要获得所需的行为,请将函数调用放在 SIF 中:

(function($){
    myFunction();

    function myFunction() {
        // code 
    };
})(jQuery);

关于javascript - 模块中定义的 js 函数可以在模块外部访问吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24098822/

相关文章:

javascript - 为什么 .replace 方法不能以这种方式工作?

javascript - 这是一个可继承的 Promise 吗?

javascript - 是否可以替换 base 64 编码图像中的颜色?

c++ - Ret (&)(Args...) 和 Ret (Args...) & 有什么区别?

C++ - 我是否必须为每个函数重新计算私有(private)变量方程?

javascript - 有没有办法让 'constructor' 成为 JS 对象中的有效键?

jquery - 跨浏览器获取点击的html元素值时的差异

php - 将 AJAX 响应文本加载到 DIV 中

javascript - 为什么文本区域在全屏模式下不可编辑?

javascript - 使属性可调用或不可调用