我可以同时对多个对象使用“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;
}
}
我可以同时对多个对象使用“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;
}
}
不,第二个它会像 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;
据我所知,第二个嵌套with
在第一个的范围内。所以它确实有效。我制作了一个JSFiddle来证明这一点。然而,在我的直觉里,这整件事似乎很不对劲。