摘要: 无论当前JavaScript代码是内嵌还是还是在外链文件中,页面的下载和渲染都必须停下来等待脚本执行完成。JavaScript执行过程耗时越久,浏览器等待响应用户输入的时间就越长。我们可以从以下几个方面进行优化:1. 改变脚本的位置 因为脚本的下载和执行,会阻塞其他资源(样式文件或图片)的下载。因此,将标签尽量尽可能放到标签的底部。2. 组织脚本 尽量减少页面中的标签; 尽量将多个js文件合并为一个,减少http的请求;3. defer, async Html4为标签定义了一个扩展属性defer。对应的所对应的文件在解析到时开始下载,直到DOM元素加载完成后执行。 Html5为标签定... 阅读全文
posted @ 2014-04-06 18:06 临风远望 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 1. 缓存对DOM元素查找的结果var pDiv = document.getElementByid("parent"); 通过缓存减少DOM元素的查找操作。2. 减少Repaint和Reflow操作组织好DOM元素,一次性插入到DOM元素树中;将需要操作的DOM隐藏,等操作完之后再显示出来;尽量减... 阅读全文
posted @ 2014-04-06 12:30 临风远望 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 1. eval问题有eval的代码比没有eval的代码慢100倍以上。主要原因是:JavaScript 代码在执行前会进行类似“预编译”的操作:首先会创建一个当前执行环境下的活动对象,并将那些用 var 申明的变量设置为活动对象的属性,但是此时这些变量的赋值都是 undefined,并将那些以 fu... 阅读全文
posted @ 2014-04-06 12:01 临风远望 阅读(141) 评论(0) 推荐(0) 编辑