with作用域浅析

/**
*浅析with
* with会接收一个参数,with形成的作用域指的是接收的参数的作用域(with的作用是不需要重复引用对象本身就可以引用对象的多个属性)
* 
*/
var obj1 = {
a:1
}
function fun(obj){
var a = 5;
var b = 3;
with(obj){
a = 2;
b = 1;
c = 4;
}
console.log(a,'fffffff')//5   .....没有变化
console.log(b,'bbbbbbb')//1
}
fun(obj1);
console.log(obj1.a)//2  .....这里就是with引用了obj1这个对象,改变了obj1.a的值
console.log(c)//4
/**
*上面代码是说明在找作用域的时候,先找的是obj1的 ,如果obj1里找不到,就会去找with所在的作用域,还没有,就再往上找
*/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值