這篇文章給大家介紹JavaScript編碼規(guī)范有哪些,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
專注于為中小企業(yè)提供成都做網(wǎng)站、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)青龍免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了1000多家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
所有的javascript文件都要放在項(xiàng)目公共的'''script'''文件夾下
使用的第三方庫(kù)文件放置在'''script/lib'''文件夾下
可以復(fù)用的自定義模塊放置在'''script/commons'''夾下,復(fù)用模塊如果涉及多個(gè)子文件,需要單獨(dú)建立模塊文件夾
單獨(dú)頁(yè)面模塊使用的javascript文件放置在'''script/{module_name}'''文件夾下
項(xiàng)目模擬的json數(shù)據(jù)放置在'''script/json'''文件夾下,按照頁(yè)面單獨(dú)建立子文件夾
javascript應(yīng)用MVC框架時(shí),使用的模板文件放置在'''script/templates'''文件夾下,按照頁(yè)面單獨(dú)建立子文件夾
通用原則可以參考[PhpGuidelinePHP編碼規(guī)范]
始終使用var定義變量
varglobal='';
functionmethod(){
varlocal='';
}
始終使用分號(hào)結(jié)束一行聲明語(yǔ)句
對(duì)于數(shù)組和對(duì)象不要使用多余的","(兼容IE)
//wrong
vararr=[1,2,];
varperson={
name:'name',
age:20,
};
//wrong
vararr=[1,2];
varperson={
name:'name',
age:20
};
定義頂級(jí)命名空間如inBike,在頂級(jí)命名空間下自定義私有命名空間,根據(jù)模塊分級(jí)
所有的模塊代碼放在匿名自調(diào)用函數(shù)中,通過(guò)給window對(duì)象下的自定義命名空間賦值暴露出來(lái)
if(!window.inBike){
window.inBike={};
}
window.inBike.rideway=rideway;
綁定事件代碼需要放置在domready函數(shù)中執(zhí)行
$(function(){
//bindfunctionisintheinitfunction
window.inBike.rideway.init();
})
將自定義模塊方法放置在對(duì)象中,方法名緊挨":",":"與function之間空一格,function()與后面的"{"之間空一格
varmodule=function(){
method:function(){
}
};
varstr='sometext';
所用的變量使用之前需要定義,定義之后立即初始化
varobj=null;
varnum=0;
vararr=[];
varisEmpty=true;
使用瀏覽器console工具之前先要判斷是否支持
if(console){
console.log('thisismylog');
}
通用原則可以參考[PhpGuidelinePHP編碼規(guī)范]
使用駝峰法命名變量和方法名,首字母使用小寫,對(duì)于類名首字母大寫
varnumberList=[1,2];
varutil={
removeNode:function(){
....
}
};
functionPerson(name,age){
this.name=name;
this.age=age;
}
使用$name命名jquery對(duì)象,原生dom元素使用dom開(kāi)頭,對(duì)象中私有變量以下劃線開(kāi)頭
var$image=$('#cover');
vardomImage=document.getElementById('cover');
varobj={
_privateVar:null,
method:function(){
}
};
通用原則可以參考[PhpGuidelinePHP編碼規(guī)范]
多使用單行注釋表明邏輯塊的意義
//HandlethecasewhereIEandOperareturnitems
//bynameinsteadofID
if(elem.id!==match[2]){
returnrootjQuery.find(selector);
}
//Otherwise,weinjecttheelementdirectlyintothejQueryobject
this.length=1;
this[0]=elem;
關(guān)于JavaScript編碼規(guī)范有哪些就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。