我看过两个.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
事件?
答案 0 :(得分:0)
一页上加载的所有JavaScript文件都具有相同的全局范围:
<script>
var a = 1;
window.b = 1;
</script>
<script>
console.log(
a,
b
);
</script>
使用全局范围通常是一件坏事,因为它使代码难以跟踪(如您所说:没有显式引用)。此外,您包括的任何脚本都可以访问所有内容,因此请注意使用哪些库。因此,我不会采用该模式,而是使用import
/ export
语法和捆绑程序。
在函数表达式中如何处理document.ready事件?
那不是文档ready
事件。这是一个jQuery事件处理程序。 doc