天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

JavaScript 開發(fā)中規(guī)范性的一點(diǎn)感想

可謂一勞永逸,不要重復(fù)造輪子:)
1.常用的方法統(tǒng)一放置
例如:在用戶注冊(cè)時(shí),時(shí)常需要判斷文本框中字符是否是漢字、英文、數(shù)字或郵箱地址等等。何不把這些方法統(tǒng)一放在一個(gè)腳本中,取名叫做utility.js呢?
復(fù)制代碼 代碼如下:
//待需要時(shí)另存為一個(gè)js

function isNull(obj)
{
if (!obj || obj.length==0 || obj=="")
{
parent.MyAlert("標(biāo)注名不能為空!",alertImg);
return false;
}
else
{
return true;
}
}

// 驗(yàn)證是否為整數(shù)
function isNumber(oNum)
{
if(!oNum) return false;

try{
if(parseInt(oNum)!=oNum) {
parent.MyAlert("查詢距離請(qǐng)?zhí)顚懻麛?shù)!",alertImg);
return false;
}
}
catch(ex)
{
parent.MyAlert("查詢距離請(qǐng)?zhí)顚懻麛?shù)!",alertImg);
return false;
}

return true;
}

// 驗(yàn)證是否為中文
function isChinese(oCn)
{
if (!oCn || oCn.length==0) return false;

try{
var reg = /^[/u4e00-/u9fa5]+$/i; //含中文

if ( reg.test(oCn) )
{
return true;
}
else{
parent.MyAlert("關(guān)鍵字請(qǐng)?zhí)顚懼形?",alertImg);
return false;
}
}
catch(ex)
{
parent.MyAlert("關(guān)鍵字請(qǐng)?zhí)顚懼形?",alertImg);
return false;
}
}

// 驗(yàn)證是否為中文或字母
function isEnCh(oStr)
{
if (!oStr || oStr.length==0) return false;

try{
var reg = /^[a-zA-Z/u4E00-/u9FA5]/g; //含中文或拼音

if ( reg.test(oStr) )
{
return true;
}
else{
parent.MyAlert("地名請(qǐng)?zhí)顚懼形幕蚱匆?",alertImg);
return false;
}
}
catch(ex)
{
parent.MyAlert("地名請(qǐng)?zhí)顚懼形幕蚱匆?",alertImg);
return false;
}
}

// 結(jié)果保留2位小數(shù)
function roundAmount(n){
var s = "" + Math.round(n * 100) / 100;
var i = s.indexOf('.')
if (i < 0) return s + ".00";

var t = s.substring(0, i + 1) + s.substring(i + 1, i + 3);
if (i + 2 == s.length) t += "0";

return t;
}

2.提示、報(bào)錯(cuò)信息統(tǒng)一放置

看了上面的代碼,您是否也發(fā)現(xiàn)一個(gè)問(wèn)題:下一個(gè)項(xiàng)目中如果提示、報(bào)錯(cuò)信息不一樣,還需要重新改動(dòng)上述代碼。何不把提示信息統(tǒng)一放在一個(gè)腳本中,取名叫做resource_zh.js呢?

在多語(yǔ)言版本的軟件中,也有用類似的招數(shù)達(dá)到切換界面語(yǔ)言,有發(fā)現(xiàn)?呵呵。
復(fù)制代碼 代碼如下:
var page_res = {
    "meter": "米",
    "kilometer": "千米(公里)",
    "mile": "英里",
    "yard": "碼",
    "degree": "度",
    "millimeter": "毫米",
    "saveMap": "保存地圖",
    "printMap": "打印地圖",
    "queryResult": "查詢結(jié)果",
    "queryResultNull": "查詢結(jié)果為空",
    "experssionCanNotNull": "查詢表達(dá)式不能為空",
    "NETworkInfo": "路徑信息",
    "arcInfo": "弧段信息",
    "addEntitySuccess": "添加地物成功! ",
    "addEntityFail": "添加地物失敗!",
    "updateEntitySuccess": "更新地物成功!",
    "updateEntityFail": "更新地物失敗!",
    "updatePropertySuccess": "更新屬性成功!",
    "updatePropertyFail": "更新屬性失敗!",
    "deleteEntitySuccess": "刪除地物成功!",
    "deleteEntityFail": "刪除地物失敗!",
    "closestFacilityFail": "最近設(shè)施分析失敗,請(qǐng)重新選擇",
    "fieldCanNotNull": "字段數(shù)不能為空",
    "fieldMustInteger": "字段數(shù)必須為整數(shù)",
    "fieldMustMoreThanZero": "字段數(shù)必須大于0",
    "numberCanNotNull": "數(shù)值不能為空"
}

我們可以把常用的單位、按鈕文本、提示信息都放在這里。然后最先加載該腳本,通過(guò)eval實(shí)例化出一個(gè)對(duì)象。通過(guò)類似res.NETworkInfo便可獲得對(duì)應(yīng)的內(nèi)容。

3.AjaxRequest請(qǐng)求封裝

跟第一點(diǎn)意義是一致的,在現(xiàn)在開發(fā)中頻繁使用Ajax,如果您沒(méi)用jQuery等腳本庫(kù)的話,可能是自己寫每次請(qǐng)求和回調(diào)的函數(shù)。何不把這些方法都放在一個(gè)ajax.js中呢?
復(fù)制代碼 代碼如下:
var xmlhttpObj=false;
function XHR(CallBack)
{
this.callback=CallBack;
}
XHR.createXMLHttp = function ()
{
if(window.ActiveXObject) //IE瀏覽器
{
try
{
xmlhttpObj = new ActiveXObject("Microsoft.XMLHTTP");//IE4.0
}
catch (e)
{
try
{
xmlhttpObj = new ActiveXObject("Msxml2.XMLHTTP");//IE5.0以上
}
catch (e2)
{
xmlhttpObj=false;
}
}
}
else if(window.XMLHttpRequest&&!xmlhttpObj) //開放瀏覽器
{
xmlhttpObj = new XMLHttpRequest();
}
}
XHR.prototype.Onstar = function (method,Url,bFlag,param)
{
if(this.callback!=null)
{
XHR.createXMLHttp();
xmlhttpObj.onreadystatechange=this.callback;
xmlhttpObj.open(method,Url,bFlag);
xmlhttpObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
xmlhttpObj.send(param);
}
else
{
alert("沒(méi)有客戶端處理函數(shù)!")
}
}

在使用時(shí)實(shí)例化一個(gè)XHR對(duì)象出來(lái),例如:var legendObj=new XHR(function (){...}); 然后用legendObj.Onstar("POST","Handlers/legendHandler.ashx",false,"mapName=" + mapName);提交請(qǐng)求即可。

JavaScript技術(shù)JavaScript 開發(fā)中規(guī)范性的一點(diǎn)感想,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 少妇内射视频播放舔大片 | 视频一区国产在线第一页 | 成人免费在线观看视频 | 精品无码三级在线观看视频 | 亚洲精品久久久久一区二区三 | 2021国产精品国产精华 | 亚洲中久无码永久在线 | 亚洲精品无码不卡 | 亚洲幼女网 | 色欲AV精品人妻一区二区三区 | 麻豆一区二区三区蜜桃免费 | 初中XXXXXL | 神马电影院午夜神福利在线观看 | 久青草国产97香蕉在线视频 | 欧美精品九九99久久在免费线 | 黄色jjzz | 伦理片天堂eeuss影院2o12 | 国产a视频视卡在线 | 2019在秋霞理论 | 精品夜夜澡人妻无码AV | 亚欧乱亚欧乱色视频 | 樱桃视频高清免费观看在线播放 | 久久国产精品高清一区二区三区 | 好姑娘社区在线视频 | 日本妞欧洲 | 日本老人oldmantv乱 | 999在线观看精品免费 | 亚洲精品久久99蜜芽尤物TV | A级超碰视频在线观看 | 国产h视频免费观看 | 国产69精品久久久久乱码韩国 | 奶好大下面流了好多水水 | 国产在线高清视频 | 久久精品视频在线直播6 | 亚洲成人精品 | 国产久青青青青在线观看 | 美女在线永久免费网站 | 韩国羞羞秘密教学子开车漫书 | 97精品免费视频 | 日韩爽爽影院在线播放 | 亚洲国产中文字幕在线视频综合 |