javascript 編碼規(guī)范

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

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

防污染與IIFE

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

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

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

真假判斷
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));

總是使用分號
分號需要用在表達式的結(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() {};
}

如何自定義異常?
拋出對象

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

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

js語言精粹

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容