聲明變數var後面每一個變數之間都用逗號隔開和每一個變數都用var聲明有什麼區別?


沒有。


偏個題, 命名的時候有時候要小心點。

例如 var a =1 , b = 1 和 var a =1; var b=1; 一樣。

但和 var a = b = 1; 就不一樣了。

下面這個例子你跑跑,可能會和你想得不一樣。

function foo() {var a = b =1;};
foo();
console.log(a);
console.log(b);
//===============
function foo() {var a =1; var b=1;};
foo();
console.log(a);
console.log(b);

自己找找區別吧。


用逗號據稱是可以強迫你把所有的變數聲明放在前面;然而實踐證明這完全是扯淡。


運行層面沒有任何區別。

分行(每行一個var)模式在源碼管理的時候方便一些,能減少需要手動合併的衝突。

分行模式方便調整語句的前後順序。

分行模式方便對齊。

我是分行模式強迫症,分行寫會感到心情愉悅。


題主舉的這個語言例子中應該沒什麼差異,我印象里「一行一個變數定義」這種規定好像是C和C++裡面提倡的,主要在於C語言特殊的變數定義方法,比如:

int* a, b;

如果按「類型 變數名」的語法來看,有人可能認為a和b都是int*,但實際上C的設計中,這句的意思是*a和b是int,所以a是int*,而b是int,也因為這樣,代碼規範上是建議這個*號靠右挨著a,而不是像上面這樣靠左,儘管對編譯器來說沒區別

相關參考:char*(*(*a)(void))[20];這個是個什麼意思? - 知乎


知乎現在都是些什麼問題?建議你去百度知道提問吧


區別就是 是否具有良好的編程風格:)


代碼風格不一樣,後者更嚴謹


謝邀,代碼風格問題,實際執行沒什麼區別

跟你團隊統一風格就行了


使用逗號連接(第一種),增刪變數時出錯率更高。

例如:

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

增加一個變數 d 可能會造成:

var a = 1,
b = 2,
c = 3;
d = 4; // 隱式聲明一個全局變數

刪除變數 c 可能會造成:

var a = 1,
b = 2, // 忘記修改逗號,報錯

var a = 1,
b = 2,

ret = a * b;
// 忘記修改逗號,後面跟著一個變數賦值語句(本意是給全局變數賦值),造成局部重新聲明。

基於上面三種情況,出於可維護性的考慮,我在團隊開發中更多使用分號。

個人開發按個人習慣即可。

性能上沒有區別。


有人懶,不想寫那麼多var,所以用逗號隔開;

有人覺得逗號分隔的寫法丑,寧願每行都寫var.

還有人不喜歡寫分號.

還有人喜歡把逗號寫在變數名前面.

然而, 對於解析器來說, 都一樣...

為了避免口水仗, 你需要JavaScript Standard Style或者ESLint - Pluggable JavaScript linter這樣的lint工具...

這裡有個統計可以幫助你選擇一種風格: Popular Coding Convention on Github


高藕合,低冗餘。低藕合,高冗餘。


高耦合與低耦合的區別。

第一種 高耦合,刪除第一行會報錯

第二種 低耦合,可以任意添加刪除


var a = 1,

  b = 2,

  c = 3;

var a = 1;

var b = 2;

var c = 3;

功能性能上沒有區別,代碼縮進風格上有區別。前者縮進用4空格剛好對齊,後者縮進2格4格都是對齊的。強迫症用後者,強迫症才不在乎多打幾個字母呢,最重要是永遠對齊。


有一個區別,就是少打了3個字母。。。。


好問題。

JS是世界上最好的語言。


對於程序執行結果沒任何區別!但更傾向第二種,當你用git做diff的時候第二種只改變了一行,而第一種改變了兩行!當然第一種如果把新增變數寫道中間也只改變一行,但這樣就更不好了!


團隊規範使然


233 沒有,這個答案居然會高贊


沒有什麼區別,編譯器回答道。


推薦閱讀:

研究js框架源碼用處真的大么?
畢業後在建築工地上呆了半年後,辭職後堅決打算轉行做前端,但是卻被現實動搖了——還能做什麼工作?
現在作為一名自學前端開發的學生,對網站的前端與後台數據交互不懂,想學習ajax,很迷茫,不知從何學起?
如何理解 React Fiber 架構?
有哪些設計精美的網頁?

TAG:互聯網 | 前端開發 | JavaScript | 編程 |