声明并启动多个 javascript 变量

我对正确声明和初始化相同类型的多个变量的正确方法有点困惑。所以它们实际上是他们自己的,而不是对其他人/副本的引用。


我的研究让我得出以下结论,这是正确的吗?和/或有更好的方法:


var str1,str2,str3,arr1,arr2,arr3,obj1,obj2,obj3;


str1=str2=str3="foo";


arr1=arr2=arr2=[];


obj1=obj2=obj3={};

(为此我想使用 var,而不是 let 和 const)


泛舟湖上清波郎朗
浏览 73回答 1
1回答

aluckdog

有多种方法可以做到这一点。重复该值: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 = 1console.log(a, b, c) //1 1 1解构一个无限迭代器(这在变量数量非常大的情况下似乎很有用):var [a, b, c] = (function*(v){while(true) yield v})(1);                                                   // ^--- Valueconsole.log(a, b, c) //1 1 1然而,当涉及到对象文字、函数的返回值和类似的东西时,它们的行为有所不同(这取决于您应该选择的用例)。解决方案 1. 将为每个变量创建不同的值解决方案 2.、3. 和 4. 将为所有变量分配相同的值解决方案 4. 可以修改为分配不同的值:var [a, b, c] = (function*(){while(true) yield [1,2,3] })();                                            // ^^^^^^^--- Valueconsole.log(a, b, c) //[1,2,3] [1,2,3] [1,2,3]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript