外部JavaScript标签如何访问另一个js文件的功能?

时间:2018-11-30 17:45:31

标签: javascript

我看过两个.js文件,其中一个包含

object.variable = (function(){
//some functions init() is defined here
//returns init
})();

然后在脚本标记中的.html文件中

$(document).ready(function(){object.variable.init()})

但是,在.html文件中没有明确引用该.js文件,但是.html文件可以调用init()

有人可以向我解释这怎么可能吗?还有在函数表达式中如何处理document.ready事件?

1 个答案:

答案 0 :(得分:0)

一页上加载的所有JavaScript文件都具有相同的全局范围:

 <script>
   var a = 1;
   window.b = 1;
 </script>
 <script>
  console.log(
   a,
   b
  );
 </script>

使用全局范围通常是一件坏事,因为它使代码难以跟踪(如您所说:没有显式引用)。此外,您包括的任何脚本都可以访问所有内容,因此请注意使用哪些库。因此,我不会采用该模式,而是使用import / export语法和捆绑程序。

  

在函数表达式中如何处理document.ready事件?

那不是文档ready事件。这是一个jQuery事件处理程序。 doc