一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

JavaScript 開發中規范性的一點感想

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

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

// 驗證是否為整數
function isNumber(oNum)
{
if(!oNum) return false;

try{
if(parseInt(oNum)!=oNum) {
parent.MyAlert("查詢距離請填寫正整數!",alertImg);
return false;
}
}
catch(ex)
{
parent.MyAlert("查詢距離請填寫正整數!",alertImg);
return false;
}

return true;
}

// 驗證是否為中文
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("關鍵字請填寫中文!",alertImg);
return false;
}
}
catch(ex)
{
parent.MyAlert("關鍵字請填寫中文!",alertImg);
return false;
}
}

// 驗證是否為中文或字母
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("地名請填寫中文或拼音!",alertImg);
return false;
}
}
catch(ex)
{
parent.MyAlert("地名請填寫中文或拼音!",alertImg);
return false;
}
}

// 結果保留2位小數
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.提示、報錯信息統一放置

看了上面的代碼,您是否也發現一個問題:下一個項目中如果提示、報錯信息不一樣,還需要重新改動上述代碼。何不把提示信息統一放在一個腳本中,取名叫做resource_zh.js呢?

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

我們可以把常用的單位、按鈕文本、提示信息都放在這里。然后最先加載該腳本,通過eval實例化出一個對象。通過類似res.NETworkInfo便可獲得對應的內容。

3.AjaxRequest請求封裝

跟第一點意義是一致的,在現在開發中頻繁使用Ajax,如果您沒用jQuery等腳本庫的話,可能是自己寫每次請求和回調的函數。何不把這些方法都放在一個ajax.js中呢?
復制代碼 代碼如下:
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("沒有客戶端處理函數!")
}
}

在使用時實例化一個XHR對象出來,例如:var legendObj=new XHR(function (){...}); 然后用legendObj.Onstar("POST","Handlers/legendHandler.ashx",false,"mapName=" + mapName);提交請求即可。

JavaScript技術JavaScript 開發中規范性的一點感想,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 九九九九九九精品免费 | 国产成人精品亚洲77美色 | 色中文在线 | 午夜黄大色黄大片美女图片 | 国产精品白浆在线播放 | 韩国精品韩国专区久久 | 视频三区精品中文字幕 | 草草视频免费观看 | 成人精品一区二区激情 | 国产精品久久久香蕉 | 综合刺激网 | 中文字幕天天躁日日躁狠狠躁97 | 99久久国产综合精品网成人影院 | 日本精品视频一区二区三区 | 国产伦精品一区二区三区免费迷 | 四虎国产一区二区三区 | 久久综合亚洲一区二区三区 | 亚洲伊人精品综合在合线 | 亚洲综合在线观看一区 | 国产精品自拍视频 | 亚州色吧| 色无极影视 | 日韩亚洲欧美一区噜噜噜 | 亚洲第一页在线视频 | 日本欧美一区二区三区不卡视频 | 天天天操天天天干 | 激情视频图片小说 | 女人18毛片久久鬼色 | 日本一区二区三区精品国产 | 欧美人禽杂交狂配在线观看视频 | 五月婷婷在线免费观看 | 一区二区视频在线观看 | 国产香蕉成人综合精品视频 | 色网站在线免费观看 | 欧美精品无需播放器在线观看 | 精品久久久99大香线蕉 | 在线播放色 | 久久伊人一区二区三区四区 | 狠狠大日本亚洲香蕉亚洲 | 国产亚洲精品九九久在线观看 | 亚洲一区综合 |