想必你們對於jQuery這個最流行的javascript類庫都不陌生,並且只要是前端開發人員確定或多或少的使用或者接觸過,在今天的這篇文章中,參考了一些資料及實際使用效率,將介紹一些書寫高質量jQuery代碼的原則,不僅僅會告訴你如何去書寫,也會告訴你爲何這樣書寫,但願你們會以爲有所幫助。javascript
這個不單單是jQuery,全部javascript開發過程當中,都須要注意,請必定不要定義成以下:css
$loading = $(
'#loading'
);
//這個是全局定義,不知道哪裏位置倒黴引用了相同的變量名,就會鬱悶至死的
html
若是你使用多個變量的話,請以下方式定義:前端
var
page = 0,
$loading = $(
'#loading'
),
$body = $(
'body'
);
申明或者定義變量的時候,請記住若是你定義的是jQuery的變量,請添加一個$符號到變量前,以下:java
var
$loading = $(
'#loading'
);
緩存
這裏定義成這樣的好處在於,你能夠有效的提示本身或者其它閱讀你代碼的用戶,這是一個jQuery的變量。性能
在jQuery代碼開發中,咱們經常須要操做DOM,DOM操做是很是消耗資源的一個過程,而每每不少人都喜歡這樣使用jQuery:編碼
$(
'#loading'
).html(
'完畢'
);
$(
'#loading'
).fadeOut();
var
$loading = $(
'#loading'
);
$loading.html(
'完畢'
);$loading.fadeOut();
上面那個例子,咱們能夠寫的更簡潔一些:spa
var
$loading = $(
'#loading'
);
$loading.html(
'完畢'
).fadeOut();
儘可能把一些代碼都整合到一塊兒,請勿這樣編碼:code
// !!反面人物$button.click(function(){
$target.css(
'width'
,
'50%'
);
$target.css(
'border'
,
'1px solid #202020'
);
$target.css(
'color'
,
'#fff'
);
});
$button.click(
function
(){
$target.css({
'width'
:
'50%'
,
'border'
:
'1px solid #202020'
,
'color'
:
'#fff'
});
});
請勿以下方式書寫:$(
'.something > *'
);
這樣書寫更好:$(
'.something'
).children();
請勿以下書寫:$(
'#something #children'
);
這樣就夠了:$(
'#children'
);
請勿以下書寫:
if
(!$something) {
$something = $(
'#something '
);
}
$something= $something|| $(
'#something'
);
與其這樣書寫:if
(string.length > 0){..}
不如這樣書寫:if
(string.length){..}
若是你使用比較新版本的jQuery類庫的話,請使用.on,其它任何方法都是最終使用.on來實現的。
最新版本的jQuery擁有更好的性能,可是最新的版本可能不支持ie6/7/8,因此你們須要本身針對實際狀況選擇。
若是使用原生的Javascript也能夠實現jQuery提供的功能的話,推薦使用原生的javascript來實現。