(1)使用 === 代替 ==
成都創(chuàng)新互聯(lián)專注于懷來網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供懷來營銷型網(wǎng)站建設(shè),懷來網(wǎng)站制作、懷來網(wǎng)頁設(shè)計(jì)、懷來網(wǎng)站官網(wǎng)定制、成都小程序開發(fā)服務(wù),打造懷來網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供懷來網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。JavaScript 使用2種不同的等值運(yùn)算符:===|!== 和 ==|!=,在比較操作中使用前者是最佳實(shí)踐。
然而,當(dāng)使用==和!=時(shí),你可能會(huì)遇到類型不同的情況,這種情況下,操作數(shù)的類型會(huì)被強(qiáng)制轉(zhuǎn)換成一樣的再做比較,這可能不是你想要的結(jié)果。
(2)將腳本放在頁面的底部
記住——首要目標(biāo)是讓頁面盡可能快的呈獻(xiàn)給用戶,腳本的加載是阻塞的,腳本加載并執(zhí)行完之前,瀏覽器不能繼續(xù)渲染下面的內(nèi)容。為避免用戶等待更長時(shí)間,把與頁面渲染無關(guān)的js放到body結(jié)束之前
(3)構(gòu)建字符串的最優(yōu)方法
當(dāng)你需要遍歷數(shù)組或?qū)ο蟮臅r(shí)候,不要總想著“for”語句,要有創(chuàng)造性,總能找到更好的辦法,例如,像下面這樣。
var arr = ['item 1', 'item 2', 'item 3', ...];
var list = '- ' + arr.join('
- ') + '
';
(4)減少全局變量
var name = 'Jeffrey';
var lastName = 'Way';
function doSomething() {...}
console.log(name);// Jeffrey -- 或 window.name
應(yīng)該轉(zhuǎn)化為
var DudeNameSpace = {
name :'Jeffrey',
lastName :'Way',
doSomething :function() {...}
}
console.log(DudeNameSpace.name);// Jeffrey
(5)不要給"setInterval"或"setTimeout"傳遞字符串參數(shù)
setInterval(
"document.getElementById('container').innerHTML += 'My new number: ' + i", 3000
);
轉(zhuǎn)化為
setInterval(someFunction,3000);
(6)使用{}代替 new Ojbect() 使用[]代替 new Array()
創(chuàng)建一個(gè)新的對(duì)象:
var o = new Object();
o.name= 'Jeffrey';
o.lastName= 'Way';
o.someFunction= function() {
console.log(this.name);
}
更好的做法
var o = {
name:'Jeffrey',
lastName= 'Way',
someFunction :function() {
console.log(this.name);
}
};
注意,如果只是想創(chuàng)建一個(gè)空對(duì)象,{}更好。 var o = {} ;
創(chuàng)建一個(gè)新的數(shù)組:
var a = new Array();
a[0] = "Joe";
a[1] = 'Plumber';
更好的做法
var a = ['Joe','Plumber'];
(7)定義多個(gè)變量時(shí),省略var關(guān)鍵字,用逗號(hào)代替
(8)原生代碼永遠(yuǎn)比庫快,jQuery的“each”方法是偉大的循環(huán),但使用原生"for"語句總是更快。
(9)確保javascript被禁用的情況下能平穩(wěn)退化,作為一個(gè)經(jīng)驗(yàn)法則,設(shè)計(jì)你的網(wǎng)站時(shí)假設(shè)JavaScript是被禁用的,然后,在此基礎(chǔ)上,逐步增強(qiáng)你的網(wǎng)站。