例如:
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";
...
}
您认为哪一个更好?
答案 0 :(得分:3)
with()
is considered harmful by Mr Crockford.
原因?如果您认为存在的属性不存在,则很容易破坏现有变量。
来自文章......
如果您无法阅读某个程序并确信自己知道该怎么做,那么您就无法确信它能够正常运行。因此,应避免使用with语句。
妥协是你的第一个例子。
答案 1 :(得分:0)
使用和效率我会选择var,因为你的微优化和像alex一样说它在类型的情况下更安全。加上语法编辑器不会捕获它,因为它会认为所有属性都是全局的
答案 2 :(得分:0)
你在任何一种情况下都要查一次 - 但是使用资源的事情是分配然后渲染连续的样式属性更改。
如果您喜欢效率,请不要使用元素的内联样式,或者如果您坚持, 立即进行所有更改 -
的document.getElementById( “divWith”)。style.cssText + = “font:13px verdana bold; color:#f00”;
(要正常使用x-browser,字体速记应以大小开头,然后是系列,其他属性按任意顺序排列。)