发表于: 2017-05-20 23:08:29
1 940
今天完成的事情:
了解Javascript无阻塞加载具体方式
将脚本放在底部。
<link>
还是放在head
中,用以保证在js
加载前,能加载出正常显示的页面。<script>
标签放在</body>
前。成组脚本:由于每个
<script>
标签下载时阻塞页面解析过程,所以限制页面的<script>
总数也可以改善性能。适用于内联脚本和外部脚本。非阻塞脚本:等页面完成加载后,再加载
js
代码。也就是,在window.onload
事件发出后开始下载代码。 (1)defer
属性:支持IE4和fierfox3.5
更高版本浏览器 (2)动态脚本元素:文档对象模型(DOM)允许你使用js动态创建HTML
的几乎全部文档内容。代码如下:
<script>
var script=document.createElement("script");
script.type="text/javascript";
script.src="file.js";
document.getElementsByTagName("head")[0].appendChild(script);
</script>
此技术的重点在于:无论在何处启动下载,文件额下载和运行都不会阻塞其他页面处理过程。即使在head里(除了用于下载文件的http链接)。
js对象的深度克隆
function clone(Obj) {
var buf;
if (Obj instanceof Array) {
buf = []; //创建一个空的数组
var i = Obj.length;
while (i--) {
buf[i] = clone(Obj[i]);
}
return buf;
}else if (Obj instanceof Object){
buf = {}; //创建一个空对象
for (var k in Obj) { //为这个对象添加新的属性
buf[k] = clone(Obj[k]);
}
return buf;
}else{
return Obj;
}
}
明天要做的事:
周日修整一下,洗洗衣服,洗洗澡,买买东西购购物,出去运动一下,关节要僵化了
遇到的问题:
暂无
收获:
代码熟练许多
评论