在下面的测试代码中,我很困惑#5为什么这么快就会开火。
这是位于我的HTML测试页的HEAD部分的SCRIPT标记中的脚本。
window.onload=function(){
console.log("1");
};
(function testFunc() { // IIFE will fire right away
console.log("2")
})();
</script>
<SCRIPT src="jquery.js"></SCRIPT>
<SCRIPT src="script.js"></SCRIPT>
<script type="text/javascript">
$( document ).ready(function() { // jquery doc ready
console.log("3");
});
window.addEventListener('load', function(){
console.log("4")
}, false);
function testFunc5() {
console.log("5") // this is where 5 is defined
};
window.addEventListener('load', testFunc5(), false); // and here is where it is fired
这是我的script.js文件中的代码
$(function() { // jquery document ready
console.log("6");
});
$(function() { // another jquery doc ready
console.log("7");
});
我不希望这么快就被记录下来。我希望它能在最后出现。
我的控制台输出是...... 2,5,6,7,3,1,4
所有其他数字的顺序是有意义的,但不是5.它被添加到window.onload,并在#4之后添加。然而它接近开始。另一个window.onload和addEventListeners在最后加载fire。