JavaScript with语句

         在JavaScript中,with语句允许扩展特定对象的作用域链,并允许在with语句块访问该对象的成员,就像这些成员的局部成员一样。

    语法如下:

with(object)

       statement

例如,可以用如下方式使用with语句修改文档样式的某些属性

//使用with语句简化包含了重复对象名的对象

with(document.body.style){

backgroundColor = "red";

fontSize="30px";

fontFamily="Courier,monospace";

}

上述代码等效下面形式的代码

document.body.style.backgroudColor="red";

document.body.style.fontSize="30px";

document.body.style.fontFamily="Courier,monospace";

with语句看似方便,但是遇到一下原因,应该避免使用with语句

  • 原作用域链的查找方式已经被“重新路由”。
  • 使用with语句容易地编写代码,如果阅读代码复杂with语句就会变的难以阅读。
  • js的解释器需要检查with块中的变量是否属于with包含的对象,这将使with语句执行速度大大下降,并且导致js语句很难被优化。
为了是代码更加清晰,可以如下方式编写代码
var dbs = document.body.style;
dbs.backgroudColor="red";

dbs.fontSize="30px";

dbs.fontFamily="Courier,monospace";

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值