如何使用嵌套的'with'关键字

Sud*_*han 1 javascript

我可以同时使用带有多个对象的'with'关键字吗?我试图嵌套它们,但失败了.那么最好的方法应该是什么呢?

var firstVariable ={a: 0, b: 0, c:0};
var secondVariable ={qw :98, ety :367, hg: 356};

with(firstVariable){
    with(secondVariable){  
        a = qw;
        b = ety;
        c = hg;
    }
}
Run Code Online (Sandbox Code Playgroud)

JJJ*_*JJJ 5

不,第二个with将范围更改为secondVariable,您无法访问第一个.它会像Drew Larson所说的那样奏效,但你不应该这样做.

with不建议使用临时变量,因此示例代码将以这种方式编写(假设firstVariable并且secondVariable非常麻烦,您不想这样做firstVariable.a = secondVariable.qw):

var firstVariable ={a: 0, b: 0, c:0};
var secondVariable ={qw :98, ety :367, hg: 356};

var o1 = firstVariable;
var o2 = secondVariable;

o1.a = o2.qw;
o1.b = o2.ety;
o1.c = o2.hg;
Run Code Online (Sandbox Code Playgroud)