我在一个JavaScript文件中初始化了全局作用域中的几个变量:

var moveUp, moveDown, moveLeft, moveRight;
var mouseDown, touchDown;

我需要把所有这些变量都设为false。这是我目前拥有的代码:

moveUp    = false;
moveDown  = false;
moveLeft  = false;
moveRight = false
mouseDown = false;
touchDown = false;

是否有任何方法,我可以设置所有这些变量的相同值在一行代码,或者是代码我目前有最好的方式来做到这一点?


当前回答

如果你想声明多个const变量,你可以通过

const [a, b, c, d] = [[], [], [], []]

同时分配空对象或任何值。

其他回答

没有什么能阻止你去做

moveUp = moveDown = moveLeft = moveRight = mouseDown = touchDown = false;

检查这个例子

Var a, b, c; A = b = c = 10; Console.log (a + b + c)

我个人总是尽量避免var,总是使用let和const,我从发生的错误和大多数最佳实践建议中学到了它,所以下面在评论中提到,但更准确地说:

function good() {  
    let a;
    let b;
    let c;
    let d;        
    a = b = c = d = 'hello';    
    console.log(d);    
}

function bad() {
    //only the first variable is declared as local
    let a = b = c = d = 'bye';
    console.log(d)
}

let a;
let d;

good();
bad();

//expected undefined
console.log(a);

//expected bye 
console.log(d);

如果你想声明多个const变量,你可以通过

const [a, b, c, d] = [[], [], [], []]

同时分配空对象或任何值。

将变量放入数组中,并使用for循环将相同的值赋给多个变量。

  myArray[moveUP, moveDown, moveLeft];

    for(var i = 0; i < myArray.length; i++){

        myArray[i] = true;

    }

在Javascript中分配多个变量到相同的值?

let a=10
let b=10
let c=10
let d=10
let e=10
console.log(a,b,c,d,e)