javascript 編碼規(guī)范

前端編碼風(fēng)格規(guī)范(3)—— JavaScript 規(guī)范

其他三個(gè)寫的也挺好的,不過html和css我已經(jīng)參照了其他的。

防污染與IIFE

(function($, w, d){
  'use strict';

  $(function() {
    w.alert(d.querySelectorAll('div').length);
  });
}(jQuery, window, document));

總是使用var來聲明變量
所有的變量以及方法,應(yīng)當(dāng)定義在 function 內(nèi)的首行。只用一個(gè) var 關(guān)鍵字聲明,多個(gè)變量用逗號(hào)隔開。
把賦值盡量寫在變量申明中。
總是使用 === 精確的比較操作符

真假判斷
false:false, 0, undefined, null, NaN, ''
true: true, 1, {}, [], '0'

邏輯操作符 || 和 && 也可被用來返回布爾值

(function(log){
 'use strict';

 function multiply(a, b) {
     //給變量賦值
     a = a || 1;
     b = b || 1;

     log('Result ' + a * b);
 }

     multiply(); // Result 1
     multiply(10); // Result 10
     multiply(3, NaN); // Result 3
     multiply(9, 5); // Result 45

}(window.console.log));

總是使用分號(hào)
分號(hào)需要用在表達(dá)式的結(jié)尾,而并非函數(shù)聲明的結(jié)尾

var foo = function() {
     return true;
}; // semicolon here.

function foo() {
     return true;
} // no semicolon here.

不能在語句塊內(nèi)的函數(shù)聲明

// 不推薦
if (x) {
 function foo() {}
}

// 推薦
if (x) {
 var foo = function() {};
}

如何自定義異常?
拋出對(duì)象

if(name === undefined) {
 throw {
     name: 'System Error',
     message: 'A name should always be specified!'
 }
}

閉包有什么用?關(guān)于閉包如何工作的合理解釋。
不在循環(huán)中創(chuàng)建函數(shù)或閉包
只在構(gòu)造函數(shù)和對(duì)象的方法中 使用this
不要使用switch
用數(shù)組和對(duì)象字面量
禁止修改內(nèi)建對(duì)象的原型鏈
圓括號(hào),不要用在一元操作符上,例如 delete, typeof 和 void,或在關(guān)鍵字之后,例如 return, throw, case, new 等。
字符串統(tǒng)一使用單引號(hào)(‘)

js語言精粹

縮進(jìn)2個(gè)空格
if和 ( 之間放一個(gè)空格
函數(shù)調(diào)用時(shí),才使 ( 和前面的符號(hào)相連
除了 . 和 [ 的所有中置運(yùn)算符兩邊都放空格
每個(gè)逗號(hào)和冒號(hào)后都使用一個(gè)空格
每行最多放一個(gè)語句
如果一行放不下,會(huì)在一個(gè)冒號(hào)或二元運(yùn)算符后拆開它
以行注釋為主;塊注釋用于正式的文檔記錄和注釋。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容