with作用域浅析
程序员文章站
2022-07-15 10:39:05
...
/**
*浅析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所在的作用域,还没有,就再往上找
*/
上一篇: 剑指offer之数组中只出现一次的数字
下一篇: 牛客题霸--反转数字