javascript中with的用法
经常见到别人用with,但是没有细究,现在有时间扒一扒用with有多方便:
function Gril(){ this.name = 'miya'; this.age = 26; this.height = 166 } var Qiao = new Gril(); with(Qiao){ var str = `姓名:${name},年龄:${age},身高:${height}`; console.log(str) } //姓名:miya,年龄:26,身高:166
其实就是有时候你需要多次使用一个对象的属性或者方法,你不想用Qiao.name,Qiao.age,Qiao.height去访问。with语句的代码块里面可以直接写属性名进行访问。
延长作用域链,其实就是给作用域链的前端增加了一个变量对象。此时with代码块中的局部活动对象排在了第二位。
上面的Qiao对象传递进来之后排在作用域链的最前端,其次才是with代码块里面的局部变量,虽然没有定义局部变量。
还有延长作用域链的try-catch语句中的catch语句。
【完】
不识庐山真面目,只缘身在此山中。