JavaScript開(kāi)發(fā)-遇到的坑

一、避免變量的全局污染

曾經(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ù)......

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容