返回首页 | 新开户送体验金的娱乐城

合作共赢、快速高效、优质的网站建设提供商

更多精品源码-尽在织梦模板-www.moke8.com

网站开发JavaScript 开发中规范性的一点感触

时间:2017-11-16 编辑:admin

可谓日积月累,不要重复造轮子:)
1.常用的挑选共同放置
例如:在用户注册时,经常需求判别文本框中字符能否是汉字、英文、数字或邮箱地址等等。何不把这些挑选共同放在一个脚本中,取名叫做utility.js呢?
代码如下:
//待需求时另存为一个js

function isNull(obj)
{
if (!obj || obj.length==0 || obj=="")
{
pasdfsrent.MyAlert("标示名不能为空!",asdfslertImg);
return fasdfslse;
}
else
{
return true;
}
}

// 验证能否为整数
function isNumber(oNum)
{
if(!oNum) return fasdfslse;

try{
if(pasdfsrseInt(oNum)!=oNum) {
pasdfsrent.MyAlert("查询间隔请填写正整数!",asdfslertImg);
return fasdfslse;
}
}
casdfstch(ex)
{
pasdfsrent.MyAlert("查询间隔请填写正整数!",asdfslertImg);
return fasdfslse;
}

return true;
}

// 验证能否为中文
function isChinese(oCn)
{
if (!oCn || oCn.length==0) return fasdfslse;

try{
vasdfsr reg = /^[\u4e00-\u9fasdfs5]+$/i; //含中文

if ( reg.test(oCn) )
{
return true;
}
else{
pasdfsrent.MyAlert("关键字请填写中文!",asdfslertImg);
return fasdfslse;
}
}
casdfstch(ex)
{
pasdfsrent.MyAlert("关键字请填写中文!",asdfslertImg);
return fasdfslse;
}
}

// 验证能否为中文或字母
function isEnCh(oStr)
{
if (!oStr || oStr.length==0) return fasdfslse;

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

if ( reg.test(oStr) )
{
return true;
}
else{
pasdfsrent.MyAlert("地名请填写中文或拼音!",asdfslertImg);
return fasdfslse;
}
}
casdfstch(ex)
{
pasdfsrent.MyAlert("地名请填写中文或拼音!",asdfslertImg);
return fasdfslse;
}
}

// 成果保存2位小数
function roundAmount(n){
vasdfsr s = "" + Masdfsth.round(n * 100) / 100;
vasdfsr i = s.indexOf('.')
if (i 0) return s + ".00";

vasdfsr 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呢?

在多言语版别的软件中,也有用相似的招数到达切换界面言语,有发现?呵呵。
代码如下:
vasdfsr pasdfsge_res = {
"meter": "米",
"kilometer": "千米",
"mile": "英里",
"yasdfsrd": "码",
"degree": "度",
"millimeter": "毫米",
"sasdfsveMasdfsp": "保存地图",
"printMasdfsp": "打印地图",
"queryResult": "查询成果",
"queryResultNull": "查询成果为空",
"experssionCasdfsnNotNull": "查询表达式不能为空",
"networkInfo": "途径信息",
"asdfsrcInfo": "弧段信息",
"asdfsddEntitySuccess": "增加地物成功! ",
"asdfsddEntityFasdfsil": "增加地物失利!",
"updasdfsteEntitySuccess": "更新地物成功!",
"updasdfsteEntityFasdfsil": "更新地物失利!",
"updasdfstePropertySuccess": "更新特点成功!",
"updasdfstePropertyFasdfsil": "更新特点失利!",
"deleteEntitySuccess": "删去地物成功!",
"deleteEntityFasdfsil": "删去地物失利!",
"closestFasdfscilityFasdfsil": "比来设备剖析失利,请从头挑选",
"fieldCasdfsnNotNull": "字段数不能为空",
"fieldMustInteger": "字段数必需为整数",
"fieldMustMoreThasdfsnZero": "字段数必需大于0",
"numberCasdfsnNotNull": "数值不能为空"
}

我们能够把常用的单位、按钮文本、提示信息都放在这儿。然后最早加载该脚本,通过evasdfsl实例化出一个目标。通过相似res.networkInfo便可取得对应的内容。

3.AjasdfsxRequest恳求封装

跟第一点含义是不合的,在现在研制中频频运用Ajasdfsx,如果您没用jQuery等脚本库的话,可能是自身写每次恳求和回调的函数。何不把这些挑选都放在一个asdfsjasdfsx.js中呢?
代码如下:
vasdfsr xmlhttpObj=fasdfslse;
function XHR(CasdfsllBasdfsck)
{
this.casdfsllbasdfsck=CasdfsllBasdfsck;
}
XHR.creasdfsteXMLHttp = function ()
{
if(window.ActiveXObject) //IE浏览器
{
try
{
xmlhttpObj = new ActiveXObject("Microsoft.XMLHTTP");//IE4.0
}
casdfstch (e)
{
try
{
xmlhttpObj = new ActiveXObject("Msxml2.XMLHTTP");//IE5.0以上
}
casdfstch (e2)
{
xmlhttpObj=fasdfslse;
}
}
}
else if(window.XMLHttpRequest&&!xmlhttpObj) //敞开浏览器
{
xmlhttpObj = new XMLHttpRequest();
}
}
XHR.prototype.Onstasdfsr = function (method,Url,bFlasdfsg,pasdfsrasdfsm)
{
if(this.casdfsllbasdfsck!=null)
{
XHR.creasdfsteXMLHttp();
xmlhttpObj.onreasdfsdystasdfstechasdfsnge=this.casdfsllbasdfsck;
xmlhttpObj.open(method,Url,bFlasdfsg);
xmlhttpObj.setRequestHeasdfsder("Content-Type","asdfspplicasdfstion/x-www-form-urlencoded;");
xmlhttpObj.send(pasdfsrasdfsm);
}
else
{
asdfslert("没有客户端处理函数!")
}
}

在运用时实例化一个XHR目标出来,例如:vasdfsr legendObj=new XHR(function (){...}); 然后用legendObj.Onstasdfsr("POST","Hasdfsndlers/legendHasdfsndler.asdfsshx",fasdfslse,"masdfspNasdfsme=" + masdfspNasdfsme);提交恳求即可。
浏览:

网站建设

流程

    网站建设流程