在 JavaScript 中,当一个变量用逗号分隔的 3 个不同名称声明时,这意味着什么?

what does it mean when a variable is declared with 3 different names separated by a comma in JavaScript?

本文关键字:声明 什么 意味着 JavaScript 一个 变量 分隔      更新时间:2023-09-26

我遇到过这样的变量声明的代码

var ctr = arra1.length, temp, index; 

如果有帮助,这是完整的代码:

function shuffle(arra1) {  
    var ctr = arra1.length, temp, index;  
// While there are elements in the array  
    while (ctr > 0) {  
// Pick a random index  
        index = Math.floor(Math.random() * ctr);  
// Decrease ctr by 1  
        ctr--;  
// And swap the last element with it  
        temp = arra1[ctr];  
        arra1[ctr] = arra1[index];  
        arra1[index] = temp;  
    }  
    return arra1;  
}  
var myArray = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];  
console.log(shuffle(myArray)); 

这只是声明许多变量的另一种方法,但只初始化其中一个。

此代码行等效于以下内容:

var ctr = arra1.length;
var temp;
var index;  
var ctr = arra1.length, temp, index;  

相当于:

var ctr = arra1.length;
var temp;
var index;

这只是整合代码的一种方式。在此示例中,ctr变量正在使用一个值进行初始化,在本例中为 arra1 的长度。

它不是三个单独的名称,而是三个单独的变量。执行变量声明时,出于可读性目的,最好在单个语句中声明它们。第一个后面的两个根本没有被定义,所以没有等号,但你也可以在那里定义它们:

var a = 1, b = 2, c = 3;

在函数中执行此操作会设置局部作用域,以防止在定义全局变量之前访问具有相同名称的全局变量。