view plaincopy to clipboardpr?
with (element.style) {
xxx = ...;
yyy = ...;
...
}
with (element.style) {
xxx = ...;
yyy = ...;
...
}但是作为解释型语言JavaScript都需要在运行时来决定xxx/yyy到底是什么东西对每个名字(不仅仅是被赋值也包括读取变量!)它会首先去在with括号里对象属性里去寻找然后才会找局部变量最后是全局变量在JavaScript虚拟机、JIT技术普及的前这种性能问题需要非常注意
正确做法是给element.style做个local variablecache:
view plaincopy to clipboardpr?
var es = element.style;
es.xxx = ...;
es.yyy = ...;
...
var es = element.style;
es.xxx = ...;
es.yyy = ...;
...这样不仅相对减少了代码大小同时性能上也比element.style.xxx = … 要好得多
最新评论