javascript - 自调用函数会干扰 window.onload,除非
问题描述
我在自调用函数window.onload
之前有一个函数。
window.onload = function(){
console.log(document.getElementById("one")); //returns null
}
(function selfExecuting(){
console.log("hi")
}());
HTML 很简单:
<div id="one">hi</div>
当我尝试在 window.onload 函数中查找 DOM 元素时,它返回“ null
”。除非我添加一行代码来存储未使用的变量。
window.onload = function(){
console.log(document.getElementById("one")); //now, this returns "<div id="one">hi</div>"
}
var unusedVar = "var"; // This unused variable makes the code work
(function selfExecuting(){
console.log("hi")
}());
有人可以帮我理解为什么它会这样工作吗?这行未使用的代码在做什么?我感觉这与自调用函数的工作方式有关,但我不确定。
注意:我试图将其作为小提琴分享,但它导致控制台日志略有不同。如果这有所作为,我得到的控制台日志与 Chrome 一起使用。
解决方案
推荐阅读
- r - 在 table1 包中创建一列 p 值
- html - dangerouslySetInnerHTML html 与发送的 html 不匹配
- sorting - 如何对指数形式数值等数字进行排序
- postgresql - Knex 不返回连接 SQL 查询
- c++ - 如何在 C++ 中自动选择 return/co_return
- c++ - 访问类中的成员向量和访问在另一个成员函数中创建的向量有什么区别?
- python - 单击鼠标后停止画布形状跟随光标
- python - 如何通过为每列选择特定范围来消除数据框中的行?- 熊猫
- python - 如何在 discord.py 上为特定角色创建命令
- latex - esttab:为什么重命名选项停止工作?