发布于 2016-09-08 18:15:27 | 36 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的Javascript教程,程序狗速度看过来!

JavaScript客户端脚本语言

Javascript 是一种由Netscape的LiveScript发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。


利用Script标签可以跨域加载并运行一段JavaScript脚本, 但Neil Fraser先前已指出,脚本运行后资源并没被释放,即使是Script标签移除后。
为了释放脚本资源,通常在返回后还要一些进行额外的处理。
 
script = document.createElement('script'); 
script.src = 
'http://example.com/cgi-bin/jsonp?q=What+is+the+meaning+of+life%3F'; 
script.id = 'JSONP'; 
script.type = 'text/javascript'; 
script.charset = 'utf-8'; 
// 标签加到head后,会自动加载并运行。 
var head = document.getElementsByTagName('head')[0]; 
head.appendChild(script) 

实际上很多流行的JS库都采用这种方式,创建一个scritp标签,赋予一个ID后加载脚本(比如YUI get()),加载完并回调后清除该标签。问题在于当你清除这些script标签的时候,浏览器仅仅是移除该标签结点。
 
var script = document.getElementById('JSONP'); 
script.parentNode.removeChild(script); 

当浏览器移除这标签结点后的同时并没对结点内JavaScript资源的进行垃圾回收,这意味着移除标签结点还不够,还得手动的清除script标签结点的内容:
 
// Remove any old script tags. 
var script; 
while (script = document.getElementById('JSONP')) { 
script.parentNode.removeChild(script); 
// 浏览器不会回收这些属性所指向的对象. 
//手动删除它以免内存泄漏. 
for (var prop in script) { 
delete script[prop]; 
} 
} 


相关阅读 :
防止动态加载JavaScript引起的内存泄漏问题
动态加载JavaScript文件的两种方法
JavaScript动态加载样式表的方法
使用RequireJS库加载JavaScript模块的实例教程
异步安全加载javascript文件的方法
JS动态加载当前时间的方法
js加载之使用DOM方法动态加载Javascript文件
动态加载JS文件的三种方法
动态加载script文件的两种方法
非阻塞动态加载javascript广告实现代码
浅谈js 闭包引起的内存泄露问题
JavaScript 动态加载脚本和样式的方法
最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务