JS 中为什么大家都不喜欢 with?因为。。。

想学习 JavaScript 语言里面的 with 的用法?那么菜本菜告诉你,这个可以不用学了,完全当他不存在就好了

当然,简单了解了解 with 混到如此地步的原因也是可以的

with 通常被当作重复引用同一个对象中的多个属性的快捷方式,可以不需要重复引用对象本身, 例如下面的 abc 属性的重新赋值

var obj = {
  a: 1,
  b: 2,
  c: 3
}

// 单调乏味的重复 "obj"
obj.a = 2
obj.b = 3
obj.c = 4

// 简单的快捷方式
with (obj) {
  a = 3
  b = 4
  c = 5
}

好像 with 挺实用的,那为啥不推荐用?性能问题(弊大于利)

大白话说就是 with 会在运行时修改或创建新的作用域,解释器需要检查 with 块中的变量是否属于 with 包含的对象,如果不属于会向上一级作用域继续查找

除特殊说明外本人博客均属原创,转载请注明出处:http://blog.johnhan.cn/blog_1066.html
京ICP备19044523号-1