JavaScript 開発の標準化に関する考え_javascript スキル

WBOY
リリース: 2016-05-16 18:50:59
オリジナル
1301 人が閲覧しました

これは一度で完了すると言えます。車輪の再発明はしないでください:)
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
}
}
catch(ex)
{
parent.MyAlert(" 距離をクエリするには正の整数を入力してください!",alertImg);
return
}

return true;
// 中国語かどうかを確認します
function is Chinese(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
}
}

// 中国語かどうかを確認します。文字
function isEnCh(oStr)
{
if (! oStr || oStr.length==0) return false;

try{
var reg = /^[a -zA-Zu4E00-u9FA5]/g; //中国語またはピンインを含みます

if ( reg.test(oStr) )
{
return true;
else{
parent.MyAlert("地名は中国語かピンインを入力してください!",alertImg) ;
return
}
}
catch(ex)
{
parent.MyAlert("地名には中国語またはピンインを入力してください!",alertImg);
return
}
}

// 結果は小数点第 2 位を保持します。場所
関数roundAmount(n){
var s = "" Math.round(n * 100) / 100 ;
var i = s.indexOf('.')
if (i <) ; 0) s ".00" を返します。

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

return t;



2. プロンプトとエラー メッセージは一緒に配置されます。 >上記のコードを読んだ後、問題も見つかりましたか。次のプロジェクトでプロンプトとエラー メッセージが異なる場合は、上記のコードを再変更する必要があります。プロンプト情報をスクリプトに入れて、それを resource_zh.js という名前にしてみてはいかがでしょうか?

ソフトウェアの多言語バージョンでも、インターフェース言語を切り替えるために同様のトリックが使用されています。ふふ。


コードをコピー

コードは次のとおりです。


var page_res = {
"meter ": " "メートル"、 "キロメートル": "キロメートル"、 "マイル": "マイル"、 "ヤード": "ヤード"、 "度": "度" 、 "millimeter": "ミリメートル"、 "saveMap": "マップを保存"、
"printMap": "マップを印刷"、
"queryResult": "クエリ結果"、
"queryResultNull": "クエリ結果は空です"、
"experssionCanNotNull": "クエリ式を空にすることはできません"、
"networkInfo": "パス情報"、
"arcInfo": "Arcセグメント "メッセージ",
"addEntitySuccess": "エンティティの追加に成功しました!",
"addEntityFail": "エンティティの追加に失敗しました!",
"updateEntitySuccess": "エンティティの更新に成功しました!",
"updateEntityFail": "機能の更新に失敗しました!"、
"updatePropertySuccess": "プロパティの更新に成功しました!"、
"updatePropertyFail": "プロパティの更新に失敗しました!"、
"deleteEntitySuccess": "機能の削除に成功しました。 !",
"deleteEntityFail": "機能の削除に失敗しました!"、
"closestFacilityFail": "最近の施設分析に失敗しました。もう一度選択してください。",
"fieldCanNotNull": "フィールドの数は次のとおりですempty",
"fieldMustInteger": "フィールドの数は整数である必要があります",
"fieldMustMoreThanZero": "フィールドの数は 0 より大きくなければなりません",
"numberCanNotNull": "数値空にすることはできません"
}


一般的に使用される単位、ボタンのテキスト、およびプロンプト情報をここに配置できます。次に、最初にスクリプトをロードし、eval を通じてオブジェクトをインスタンス化します。対応するコンテンツは、res.networkInfo などを通じて取得できます。

3. AjaxRequest リクエストのカプセル化

は、現在の開発でよく使用される Ajax です。各リクエストとコールバックの関数を自分で作成することもできます。これらすべてのメソッドを ajax.js に入れてみてはいかがでしょうか?
コードをコピーします コードは次のとおりです。

var xmlhttpObj=false; 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(); 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) を使用します。 ; リクエストを送信するだけです。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート