為JavaScript做一點性能小提升吧!
本文列出了24條能讓你的代碼編寫過程更為輕松高效的建議。也許您還是JavaScript初學(xué)者,剛剛寫完自己的Hello World,那這里有很多對您的工作將十分有用的小貼士;也許有些技巧您已經(jīng)知道,那就試試快速瀏覽一下,看能不能發(fā)現(xiàn)一點新東西吧!
注:本文多次用到Firebug的console對象,請參考 Firebug Console API 。關(guān)于firebug的更詳細(xì)介紹,請猛擊這里。
1. 用 === 代替 ==JavaScript里有兩種不同的相等運算符:===|!== 和==|!=。相比之下,前者更值得推薦。請盡量使用前者。
“如果兩個比較對象有著同樣的類型和值,===返回true,!==返回false! – JavaScript: The Good Parts
不過,如果使用==和!=,在操作不同數(shù)據(jù)類型時, 你可能會遇到一些意想不到的問題。在進行相等判斷前,JavaScript會試圖將它們轉(zhuǎn)換為字符串、數(shù)字或 Boolean量。
2. 避免使用Eval函數(shù)
Eval函數(shù)把一個字串作為參數(shù),并把字串作為JavaScript語句執(zhí)行,返回結(jié)果(參考)。
此函數(shù)不僅會降低你腳本的執(zhí)行效率,而且還大大增加了安全風(fēng)險,因為它賦予了作為文本的參數(shù)太大的權(quán)利。千萬別用!
3. 不要使用快速寫法
技術(shù)上說,你可以省略掉大部分花括弧和句尾分號,絕大多數(shù)瀏覽器都能正確執(zhí)行以下語句:
.if(someVariableExists) x = false
不過,如果是這樣的呢:
.if(someVariableExists) x = false anotherFunctionCall();
你可能會認(rèn)為它和下面的語句相等:
if(someVariableExists) { x = false; anotherFunctionCall(); }
不幸的是,事實并非如此,F(xiàn)實情況是它等價于:
if(someVariableExists) { x = false; } anotherFunctionCall();
如您注意到的,再漂亮的縮進也不能代替這華麗的花括弧。在所有情況下都請寫清楚花括號和句尾分號。在只有一行語句的時候能偶爾省略掉,雖然下這么做也是極度不被推薦的:
if(2 + 2 === 4) return 'nicely done';
多考慮下將來吧,孩子 假設(shè),在將來的開發(fā)過程中,你需要為這個 if 語句添加更多的命令呢?到時候你還不是得把括號給加上?
出處:笨活兒
責(zé)任編輯:bluehearts
上一頁 下一頁 給JavaScript新手的24條實用建議 [2]
◎進入論壇網(wǎng)頁制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評論。
|