GMa*_*lla 6 javascript javascript-events iife
以下两个代码段均有效:
在js文件中使用IIFE:
(function initialize() {
  txtInput = document.getElementById('txtInput');
  txtResult = document.getElementById('txtResult');
  txtInput.value = "0";
  txtResult.value = "0";
}());
在html文件中调用window加载事件的initialize():
window.addEventListener('load', initialize, false);
是一种比其他更好的方法; 在表现还是其他方面?就目前而言,我更倾向于向窗口对象添加事件监听器,因为它更具可读性.
这取决于您希望代码运行的时间.如果您希望代码尽快执行,您可以使用IIFE,但如果您不使用它来保护变量和/或不污染全局范围,那么使用IIFE毫无意义.
(function initialize() {
    // do somthing
}());
要么
// do somthing
将在同一时间点执行.
如果您想延迟执行,那么Web开发人员通常会使用三个时间点.<script>在底部,DOMContentLoad和window.onload.
<script>底部的s将在从服务器获取后执行.DOMContentLoaded</html>HTML解析器读取后立即执行.window.onload所有CSS,<img>es和<script>s 之后执行非常简单的执行.需要注意的是在现实中,与像属性async和defer对<script>S,这是比较复杂的.这就是为什么有大量的资源加载器可用.
| 归档时间: | 
 | 
| 查看次数: | 3408 次 | 
| 最近记录: |