JavaScript慎用with
作者:互联网
2009-06-11
像我这样最初并不是系统学习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 = … 要好得多。
相关标签:
相关推荐
专题
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
最新数据
相关文章
最新版vue3+TypeScript开发入门到实战教程之路由详解二
src-components调用链与即时聊天组件树
从0开始设计一个树和扁平数组的双向同步方案
拒绝 rem 计算!Vue3 大屏适配,我用 vfit 一行代码搞定
Home双router-view与布局切换逻辑
uniapp uview-plus 自定义动态验证
Vue3 单元测试实战:从组合式函数到组件
VUE-组件命名与注册机制
VTJ.PRO 在线应用开发平台概览
v0.dev 支持 RSC 了!AI 生成全栈组件离我们还有多远?
AI精选
