JS技术

JavaScript慎用with

字号+ 作者: 来源:    2014-11-17 20:00 我要评论( )

JavaScript慎用with,阅读JavaScript慎用with,像我这样最初并不是系统学习JavaScript的人,看到with这个东西的第一感觉是兴奋——不用再重复地写“element.style.xxx = …”了,只需要view plaincopy to clipboardprint?with (element.style) { xxx = ...; yyy

像我这样最初并不是系统学习JavaScript的人,看到with这个东西的第一感觉是兴奋——不用再重复地写“element.style.xxx = …”了,只需要

view plaincopy to clipboardprint?
with (element.style) {  
xxx = ...;  
yyy = ...;  
...  

with (element.style) {
xxx = ...;
yyy = ...;
...
}但是作为解释型语言,JavaScript都需要在运行时来决定xxx/yyy到底是什么东西。对每一个名字(不仅仅是被赋值的,也包括读取的变量!)它会首先去在with括号里的对象的属性里去寻找,然后才会找局部变量,最后是全局变量。在JavaScript的虚拟机、JIT技术普及之前,这种性能问题需要非常的注意。

正确的做法是给element.style做一个local variable的cache:

view plaincopy to clipboardprint?
var es = element.style;  
es.xxx = ...;  
es.yyy = ...;  
... 

var es = element.style;
es.xxx = ...;
es.yyy = ...;
...这样不仅相对减少了代码大小,同时性能上也比element.style.xxx = … 要好得多。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 学习JavaScript之this,call,apply

    学习JavaScript之this,call,apply

    2016-01-28 20:45

  • 轻松学习JavaScript十五:JavaScript之BOM简介 - 连宏伟 - 博客频道 - CSDN.NET 连宏

    轻松学习JavaScript十五:JavaScript之BOM简介 - 连宏伟 - 博客频道

    2015-12-13 11:34

  • 学习Javascript数组_Javascript教程

    学习Javascript数组_Javascript教程

    2015-10-02 09:18

  • 学习javascript应注意的问题_Javascript教程

    学习javascript应注意的问题_Javascript教程

    2015-09-29 13:03

网友点评