在内存使用和效率方面,变量和WITH关键字哪个更好

in terms of memory usage and efficency, which one is better to use, a variable or WITH keyword?

本文关键字:关键字 WITH 更好 变量 方面 内存 效率      更新时间:2023-09-26

例如:


var a = document.getElementById("divVar");
    a.style.font="bold 13px verdana";
    a.style.color="#F00";
    ...
with(document.getElementById("divWith")){
    style.font="bold 14px Georgia";
    style.color="#00F";
    ...
}

你认为哪一个更好?

with()被Crockford先生认为是有害的。

的原因吗?例如,如果您认为存在的属性不存在,则很容易删除现有的变量。

从文章中…

如果你不能读懂一个程序并确信你知道它要做什么,你就不能确信它会正确工作。因此,应该避免使用with语句。

妥协是你的第一个例子

使用和效率我会选择var,因为你的微优化,就像alex说的,它在类型的情况下更安全。而且语法编辑器不会捕捉到它,因为它会认为所有的属性都是全局的

在任何情况下都查找一次但是使用资源的事情是分配然后呈现连续的样式属性更改。

如果你喜欢效率,不要使用元素的内联样式,或者如果你坚持,一次做所有的修改-

. getelementbyid("divWith").style.cssText + ="font:宋体;color:#f00";

(为了使x-browser正常工作,字体速记应该从size开始,然后是family,其他属性按任意顺序排列)