Javascript 如何在一行上定义多个变量?
2022-08-30 03:00:27
在线阅读文档时,我对如何在一行上正确定义多个JavaScript变量感到困惑。
如果我想压缩以下代码,那么在一行上定义多个javascript变量的正确JavaScript“严格”方法是什么?
var a = 0;
var b = 0;
是吗:
var a = b = 0;
或
var a = var b = 0;
等。。。
在线阅读文档时,我对如何在一行上正确定义多个JavaScript变量感到困惑。
如果我想压缩以下代码,那么在一行上定义多个javascript变量的正确JavaScript“严格”方法是什么?
var a = 0;
var b = 0;
是吗:
var a = b = 0;
或
var a = var b = 0;
等。。。
使用Javascript的es6或node,您可以执行以下操作:
var [a,b,c,d] = [0,1,2,3]
如果您想在一行中轻松打印多个变量,只需执行以下操作:
console.log(a, b, c, d)
0 1 2 3
这类似于@alex格雷的答案,但这个例子是用Javascript而不是CoffeeScript写的。
请注意,这使用Javascript的数组解构赋值
您希望依赖逗号,因为如果您依赖多重赋值构造,则会在某个点或另一点向自己开枪。
例如:
>>> var a = b = c = [];
>>> c.push(1)
[1]
>>> a
[1]
它们都引用内存中的同一对象,它们不是“唯一的”,因为每当你引用对象(数组,对象文本,函数)时,它都是通过引用而不是值传递的。因此,如果你只改变其中一个变量,并希望它们单独行动,你将无法得到你想要的东西,因为它们不是单独的对象。
多重赋值还有一个缺点,即辅助变量成为全局变量,并且您不希望泄漏到全局命名空间中。
(function() { var a = global = 5 })();
alert(window.global) // 5
最好只使用逗号,最好是使用大量的空格,这样它才可读:
var a = 5
, b = 2
, c = 3
, d = {}
, e = [];