聲明變數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 | 編程 |