关于JavaScript执行效率的几点思考.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于JavaScript执行效率的几点思考 田岭 (湖北省荆州职业技术学院 信息技术系 湖北 荆州 434020) 摘要:JavaScript脚本代码的学习和使用方便灵活,非常容易调试运行,也因此被一些Web程序员较为随意地使用,从而带来潜在的隐患特别是执行效率低下的问题。本文从三个方面关注JavaScript脚本代码的执行效率,希望对JavaScript程序设计人员起到一定的借鉴作用。 关键词:JavaScript;执行效率;单线程 Several ideas about JavaScript execution efficiency Tian Ling (Jingzhou Institute of Technology ,Information Technology Department Hubei Jingzhou 434020) Abstract: JavaScript code to learn and easy to use and flexible, easy commissioning and operation, but some Web programmers to use more freely, leading to potential pitfalls in particular the implementation inefficiencies. This paper concerns three aspects of the efficiency of JavaScript code, JavaScript programmers want to play a role in learning. Key words: JavaScript;Execution efficiency;;Single-threaded 随着Web2.0的逐步推广,以及富互联网应用给用户带来的良好体验,越来越多的Web程序员开始关注JavaScript脚本语言及其衍生工具,早期的网站只是使用JavaScript完成简单的任务,而现在许多网站为了增加页面交互性,其大部分用户界面都用JavaScript来辅助构建,这样做的结果就是当网页呈现、刷新或操作时,成千上万的JavaScript代码被执行,由于JavaScript脚本代码的学习和使用门槛较低,方便灵活,效果出众,非常容易嵌入Html、Asp、Jsp等网页代码中调试运行,使得它往往被一些浮躁的Web程序员较为随意地使用,甚至通过互联网拷贝JavaScript脚本代码不加修改地置入产品中,从而带来潜在的隐患特别是执行效率低下的问题。能够执行出正确结果的程序绝对不能等同于好的程序,对于强调速度的Web应用更是如此。 1. 尽量使用局部变量代替全局变量 当JavaScript代码执行时,读取变量值的耗时随着查找作用域链的逐层深入而不断增长,标识符在作用域链中的位置越深则存取速度越慢,在目前广泛使用的各种浏览器中都是如此。全局变量在作用域链中的位置处于最末端,对其读取的次数会对程序的运行效率带来较大的影响。例如: function createChild(elementId){ var element=document.getElementById(elementId); var newElement=document.createElement(div); element.appendChild(newElement); } 在该例中,函数createChild将全局变量document引用了两次,若将代码做如下修改: function createChild(elementId){ var doc=document; var element=doc.getElementById(elementId); var newElement=doc.createElement(div); element.appendChild(newElement); } 即把全局变量document存储到局部变量doc中,虽然看起来代码量略有增加,但实际上提高了执行效率。再举一例: function process(data){ if(data.count0){ for(var i=0;idata.count;i++){ processData(data.item[i]); } } } 这段代码中数组型全局变量data的data.count属性被多次读取,虽然在代码中出现只有两次,但data.count实际读取次数应该是data.count+1次,如果做如下修改: function process(data){ var count=data.c

文档评论(0)

yan666888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档