在Javascript变量声明中使用逗号

在Javascript变量声明中使用逗号,javascript,Javascript,我刚刚遇到了以下代码: function showMatch(str, reg) { var res = [], matches while(true) { matches = reg.exec(str) if (matches === null) break res.push(matches[0]) if (!reg.global) break alert(res) } 有人能解释一下第二排吗?做 var res = [], matches 相等的 var res=[

我刚刚遇到了以下代码:

function showMatch(str, reg) {
var res = [], matches
 while(true) {
  matches = reg.exec(str)
  if (matches === null) break
   res.push(matches[0])
  if (!reg.global) break
alert(res)
}
有人能解释一下第二排吗?做

var res = [], matches 
相等的

var res=[]; res=matches

?

我想第二个答案是正确的?我觉得这有点令人困惑…

它相当于

var res = []; 
var matches; 
其中
匹配
未定义的

它等同于

var res = []; 
var matches; 
其中
匹配
未定义

它相当于:

var res=[];
var matches;
声明变量时,可以将它们放在相同的
var
语句中,用逗号分隔:

var a, b, c, d, e;
可使用以下值初始化任何变量:

var a, b = 42, c, d = {}, e = "Hello world";

在代码顶部声明函数中的所有变量通常是为了更好地表示代码中实际发生的情况(并更好地了解所使用的变量)。函数中的任何变量声明都位于代码顶部,因此它们都存在于代码开始执行之前。这意味着您可以在声明语句之前使用变量。例如:

a = 42;
var a;
alert(a); // shows 42
如果在一个函数中使用多个变量,您可能会发现在函数的开头声明它们很有用。重要的部分是声明要在函数中创建的变量。如果忘记声明变量并使用它,它将隐式声明为全局变量,这可能会干扰其他地方的代码。

它相当于:

var res=[];
var matches;
声明变量时,可以将它们放在相同的
var
语句中,用逗号分隔:

var a, b, c, d, e;
可使用以下值初始化任何变量:

var a, b = 42, c, d = {}, e = "Hello world";

在代码顶部声明函数中的所有变量通常是为了更好地表示代码中实际发生的情况(并更好地了解所使用的变量)。函数中的任何变量声明都位于代码顶部,因此它们都存在于代码开始执行之前。这意味着您可以在声明语句之前使用变量。例如:

a = 42;
var a;
alert(a); // shows 42

如果在一个函数中使用多个变量,您可能会发现在函数的开头声明它们很有用。重要的部分是声明要在函数中创建的变量。如果忘记声明变量并使用它,它将隐式声明为全局变量,这可能会干扰其他地方的代码。

或C):)的可能重复我不认为它是重复的。你提到的链接是关于其他东西的。或者C):)可能重复的我不认为它是重复的。您要引用的链接与其他内容有关。