一、避免變量的全局污染
曾經(jīng)在大型重構(gòu)某個(gè)網(wǎng)站前端代碼時(shí),由于js文件比較多,各個(gè)開(kāi)發(fā)人員的不同命名習(xí)慣,導(dǎo)致少部分公共變量被污染,最后測(cè)試中出現(xiàn)錯(cuò)誤。解決方法:
1.一個(gè)js文件只創(chuàng)建一個(gè)全局變量
盡可能創(chuàng)建一個(gè)全局變量。讓其他對(duì)象和函數(shù)存在其中,同時(shí)盡可能將該全局變量的命名規(guī)則定義好,可以與文件名相關(guān)
var g_checkmsg={
name:'xiaoxi',
password:'123456',
isnum:function(){
alert('true');
}
}
g_checkmsg.repwd="123456";
避免使用以下命名方式:
var name='xiaoxi';
function isnum(){
alert(‘true’);
}
2.使用匿名函數(shù)
(function(){
var check= {
name:'xixi',
age:12,
sex:'女'
};
check.isnum= function(){
alert("xixi");
}
window.g_check= check;
})();
//調(diào)用
console.log(g_check.name); // xixi
或者僅使用一個(gè)公共js創(chuàng)建全局變量
//common.js
var g_check={};
//check.js
(function($){
$.check= {
name:'xixi',
age:12,
sex:'女'
};
$.check.isnum= function(){
alert("xixi");
}
})(g_check);
//調(diào)用
g_check.check.name; //xixi
二、JS中盡量json數(shù)據(jù)的寫(xiě)法
現(xiàn)在很多都是使用json數(shù)據(jù)進(jìn)行交互,所以組裝json數(shù)據(jù)時(shí)盡量不要使用字符串拼接,如:
var json='{"name":"'+name+'","pwd":"'+pwd+'"}';
這種json在數(shù)據(jù)特別少的情況下還可以,當(dāng)數(shù)據(jù)比較多,數(shù)據(jù)類(lèi)型復(fù)雜時(shí)看起來(lái)就比較頭疼,建議使用這種格式:
var json={};
json.name=name;
json.pwd=pwd;
json.people=['xiaoo','xiaopp'];
//提交時(shí)轉(zhuǎn)換成字符串
JSON.stringify(json);
三、不使用的代碼一定要注釋掉,確定無(wú)用后一定刪掉
四、養(yǎng)成寫(xiě)注釋的好習(xí)慣,每個(gè)小功能或者函數(shù)都要寫(xiě)注釋
在改了兩天代碼后,寫(xiě)下了這篇文章,主要是用于自己記錄,希望可以給需要的朋友一點(diǎn)建議。以前沒(méi)有記錄的習(xí)慣,在工作幾年后發(fā)現(xiàn)這個(gè)習(xí)慣太重要了??
未完待續(xù)......