1 回答
TA贡献1847条经验 获得超7个赞
有多种方法可以做到这一点。
重复该值:
var a = 1, b = 1, c = 1;
console.log(a, b, c) //1 1 1
相互分配变量(提示:将名称最短的变量放在第一位,然后重复该变量):
var a = 1, b = a, c = a;
console.log(a, b, c) //1 1 1
使用你的方法:
var a, b, c;
a = b = c = 1
console.log(a, b, c) //1 1 1
解构一个无限迭代器(这在变量数量非常大的情况下似乎很有用):
var [a, b, c] = (function*(v){while(true) yield v})(1);
// ^--- Value
console.log(a, b, c) //1 1 1
然而,当涉及到对象文字、函数的返回值和类似的东西时,它们的行为有所不同(这取决于您应该选择的用例)。
解决方案 1. 将为每个变量创建不同的值
解决方案 2.、3. 和 4. 将为所有变量分配相同的值
解决方案 4. 可以修改为分配不同的值:
var [a, b, c] = (function*(){while(true) yield [1,2,3] })();
// ^^^^^^^--- Value
console.log(a, b, c) //[1,2,3] [1,2,3] [1,2,3]
添加回答
举报