我一直在尋找通過新的WordPress主題twentyfourteen並注意到他們的JavaScript文件中的以下行:在Javascript中 - 什麼多個逗號做一個var語句
var nav = $('#primary-navigation'), button, menu;
有人可以解釋我是什麼意思,它看起來不像一行中的多變量賦值。還有button
和menu
還沒有定義,那麼怎麼纔不會產生錯誤呢?
我一直在尋找通過新的WordPress主題twentyfourteen並注意到他們的JavaScript文件中的以下行:在Javascript中 - 什麼多個逗號做一個var語句
var nav = $('#primary-navigation'), button, menu;
有人可以解釋我是什麼意思,它看起來不像一行中的多變量賦值。還有button
和menu
還沒有定義,那麼怎麼纔不會產生錯誤呢?
您只是聲明瞭三個變量並將值賦給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
。
這等同於以下內容:
var nav = $('#primary-navigation');
var button;
var menu;
button
和menu
未定義,在你的例子作爲在整個腳本後使用的變量通常引用。
這是一樣的
var nav = $('#primary-navigation');
var button;
var menu;
而對於它的原因是爲了避免可變懸掛。 更多關於變量提升: http://thecomputersarewinning.com/post/a-dangerous-example-of-javascript-hoisting/
'var x,y,z' =='var x; var y; var z'。 – meagar