我一直在寻找新的wordpress主题二十四,并在他们的javascript文件中注意以下行:
var nav = $( '#primary-navigation' ), button, menu;
有人可以解释一下它是什么意思,它看起来不像是一行中的多变量赋值。此外,button
和menu
尚未定义,那么为什么它不会产生错误?
答案 0 :(得分:4)
您只是声明三个变量并仅将值分配给nav
。默认情况下,button
和menu
都会undefined
。
var a = 1, b, c;
console.log(a, b, c);
<强>输出强>
1 undefined undefined
相反,如果你看到类似这样的东西
var d = (1, 2, 3);
console.log(d);
<强>输出强>
3
括号内的表达式将从左到右进行评估,最后一次评估的结果将分配给d
。
答案 1 :(得分:3)
这相当于以下内容:
var nav = $( '#primary-navigation' );
var button;
var menu;
button
和menu
未定义,通常在您的示例中引用为稍后在整个脚本中使用的变量。
答案 2 :(得分:2)
与
相同var nav = $( '#primary-navigation' );
var button;
var menu;
其原因在于避免变量吊装。 有关可变吊装的更多信息: http://thecomputersarewinning.com/post/a-dangerous-example-of-javascript-hoisting/