我可以同时对多个对象使用'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;
}
}
答案 0 :(得分:5)
不,第二个它会像Drew Larson所示,但你不应该'做到了。with
将范围更改为secondVariable
,您无法访问第一个。
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;
答案 1 :(得分:1)
据我所知,第二个嵌套with
在第一个嵌套范围内。所以它确实有效。我做了JSFiddle来证明这一点。然而,在我的直觉中,这一切似乎都是错误的。