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语句。

 

【完】

不识庐山真面目,只缘身在此山中。

 

posted @ 2018-11-13 18:00  tangjiao_Miya  阅读(212)  评论(0编辑  收藏  举报