为了账号安全,请及时绑定邮箱和手机立即绑定

js中with语句的用法及其作用

标签:
JavaScript

申明:本文是js系列笔记之一,有不正确的地方请尽管指出,大家相互学习,共同进步;

前两天读《javascript高级程序设计》一书,遇到with一词;之前尽全然不知,没用过,,丢人了。所以细细读了一番,,书中强调其作用是,延长作用域链;不熟悉的人可能听起来有点怪,ok,看下他是怎么延长作用域链的 

webp

一切文字解释都是那么苍白无力

在with这个块中你可以直接使用People中的属性,所以对于延长作用域链我是这么理解的 ,在yanChang这个局部作用域中,又多了一级----with中的作用域。但有一个特点是,with块中可以直接访问People的一级属性;

所以省去了我们用 . 访问对象属性的这种作法;所以就我而言,我更认为这是延长作用域和释放变量;

但是到目前为止我还没有找到js中使用with语句好处的更佳答案,倒是有一些值得吐槽的地方,比如频繁的使用with,其()中的变量有特别多的属性,那么在该with块中,浏览器要一遍一遍的去遍历该变量,验证是否有这个属性,所以使用多了会不会对性能造成一定的损失?

如下大概是对with的正确用法?但是却没有人这么写css的!

webp

这么写css你见过吗?

所以很多人在js文章中并不提倡使用with语句。



作者:XBGG
链接:https://www.jianshu.com/p/12d569b6081b


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消