JavaScript欲速则不达——时间函数

JavaScript欲速则不达——时间函数

异步而非线程

曾经我一直以为使用setTimeout()、setInterval()、XMLHttpRequest 和事件处理程序等能让javascript异步执行,不阻碍脚本运行,就是多线程运行了。后来发现原来这原来都是假象。

假设有两个setTimeout(),如下:

alert(time1); // undefined
var time = setTimeout(function()

阅读更多»

defer、async属性以及JS异步加载并执行解决方案

defer、async属性以及JS异步加载并执行解决方案

优化脚本文件的加载提高页面的加载速度,一直是前端工程师提高页面加载速度很重要的一条。因为涉及到各个浏览器对解析脚本文件的不同机制,以及加载脚本会阻塞其他资源和文件的加载。当浏览器解析器遇到<script>时,会立即加载(加载:下载,解析和执行),浏览器对其他资源和文档的加载会停止。为了提高页面的加载速度,得让JS不阻塞其他资源的加载。

Webkit 和 Firefox 对JS的执行过程进行了优

阅读更多»

1