Js的转载和执行
通常来说,浏览器对于Javascript的运行有两大特性:
1)载入后马上执行,
2)执行时会阻塞页面后续的内容(包括页面的渲染、其它资源的下载)。
于是,如果有多个js文件被引入,那么对于浏览器来说,这些js文件被被串行地载入,并依次执行。
因为javascript可能会来操作HTML文档的DOM树,所以,浏览器一般都不会像并行下载css文件并行下载js文件,因为这是js文件的 特殊性造成的。所以,如果你的javascript想操作后面的DOM元素,基本上来说,浏览器都会报错说对象找不到。因为Javascript执行时, 后面的HTML被阻塞住了,DOM树时还没有后面的DOM结点。所以程序也就报错了。
转载:http://coolshell.cn/articles/9749.html
遇到的问题:
就如同上文说的,因为JS文件时载入之后就会马上执行。故,现在又很多的框架和技术,使js文件异步加载或页面加载完成之后再执行。但是如同上面的js可能操作还没有加载的DOM,js加载晚了,如获取JS(特别是异步加载时,网络延时比较严重的情况下)执行较晚还没有为相应的DOM绑定事件,但是页面基本渲染完成,用户可能就会去操作页面(点击按钮等触发事件),这是可能会没有任何反应,或者说没有达到预期的结果(如果触发的事件操作有默认操作,而正常情况是阻止了默认操作)。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。