JavaScript開発における規範性についての感想
5562 ワード
苦労が絶えないと言ってもいいです.輪を作ってはいけません.)
1.よく使われる方法は、例えば、ユーザー登録時に、テキストボックスの文字が漢字、英語、数字、メールアドレスなどであるかどうかを判断する必要があります.これらの方法を一つのシナリオにまとめて置いたら、「utility.js」と名づけられますか?
上のコードを見ても、次の項目でヒントがあれば、エラーメッセージが違っています.上のコードをもう一度変更する必要があります.ヒントを一つのシナリオにまとめておいたらどうですか?zh.jsは
多言語バージョンのソフトウェアでは、同様の手法でインターフェース言語を切り替えることもできます.へへ
3.AjaxRequestパッケージ要求
最初の点と同じ意味で、現在開発中にAjaxを頻繁に使っています.jQueryなどのスクリプトライブラリを使っていないと、自分で毎回のリクエストとリプライの関数を書くことができます.これらの方法をajax.jsの中に置いたらどうですか?
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.提示、エラーメッセージをまとめて置く上のコードを見ても、次の項目でヒントがあれば、エラーメッセージが違っています.上のコードをもう一度変更する必要があります.ヒントを一つのシナリオにまとめておいたらどうですか?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.network Infoによって対応するコンテンツが得られます.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.ONSstar(「POST」、「Handlers/legendHandler.asx」、false、「mapName=」+mapName)を使います.要求を提出すればいいです.