在内存使用和效率方面,变量和WITH关键字哪个更好
in terms of memory usage and efficency, which one is better to use, a variable or WITH keyword?
例如:
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,其他属性按任意顺序排列)
相关文章:
- Fighting with FRP
- 使用“;这个“;JavaScript原型方法中的关键字
- issue with FB.Event.subscribe
- delete关键字在全局变量上的不同行为
- geolocation-marker.js conflict with markerclusterer.js
- Angular 2.0 with JavaScript or TypeScript?
- 为什么不推荐使用“with”?是否有更好或其他方法可以“下降”到对象的命名空间
- WebComponentsJS with IE10
- JavaScript 中的嵌套函数和 “this” 关键字
- 指令的模板必须只有一个根元素:With restrict E&替换true
- timeago.js with datatable and PHP
- Ajax and Json with Rails
- 如何在不使用 new 关键字的情况下从函数创建对象
- errors with Javascript try catch
- Angularjs使用“;这个“;promise内的关键字回调
- how to split a string with ','
- JavaScript 理解递归调用代码清理中的上下文,没有“with”关键字
- 此代码中发生了什么,如果没有“with”关键字,以下内容的基本实现是什么
- 沙箱JavaScript使用with关键字
- 在内存使用和效率方面,变量和WITH关键字哪个更好