先贴代码,在html文档底部插入如下代码:
!function(window){ document.addEventListener("DOMContentLoaded", function(){ init4();//这里为何会访问到init4? }, false) }(window) var init4=function(){ console.log(4); }
init4是函数表达式,按说在预解析的时候,是undefined,只有执行到这一句的时候,才会被赋值为一个函数,但是如果使用了DOMContentLoaded,函数却可以在赋值之前调用后面的函数,是为什么?
DOMConten优艾设计网_PS论坛tLoaded?还是别的?
M24****5617 2022-06-22 11:16 优艾设计网_Photoshop论坛
早就运行了
卡吉尔阿瓦 2022-06-22 11:16
页面文档完全加载并解析完毕之后,会触发DOMContentLoaded事件,HTML文档不会等待样式文件,图片文件,优艾设计网_设计百科子框架页面的加载(load事件可以用来检测HTML页面是否完全加载完毕(fully-loaded))。
李东华 优艾设计网_设计百科 2022-06-22 11:18
你这个和上方这个没什么区别,当你执行函数的时候,下方的
逍遥戏凡尘 2022-06-22 11:30
还有就是 https:优艾设计网_Photoshop交流//developer.mozilla.org...
月华欢 优艾设计网_设计 2022-06-22 11:40
先是变量提升一个空init4,然后是匿名自函数,然后添加了一个监听器DOMContentLoaded,然后申明了一个匿名函数并赋值给init4,然后页面DOM响应完毕,触发监听事件的回调。
qkoufu45371 优艾设计网_PS论坛 2022-06-22 11:41
简单说一下你这里的执行顺序。
精彩评论