JavaScript 개발_javascript 기술의 표준화에 대한 몇 가지 생각

WBOY
풀어 주다: 2016-05-16 18:50:59
원래의
1298명이 탐색했습니다.

한번에 끝이라고 할 수 있으니, 바퀴를 재발명하지 마세요 :)
1. 일반적으로 사용되는 메소드는 균일하게 배치됩니다
예: 사용자가 등록하면 텍스트 상자의 문자가 한자, 영어, 숫자 또는 이메일 주소 등인지 확인하는 데 필요한 경우가 많습니다. 이러한 메소드를 스크립트에 넣고 이를util.js라고 부르면 어떨까요?

코드 복사 코드는 다음과 같습니다.

//필요할 때 js로 저장하세요.

function isNull(obj)
{
if (!obj || obj.length==0 || obj=="")
{
parent.MyAlert(" 라벨 이름은 비워둘 수 없습니다!",alertImg);
false를 반환;
}
else
{
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; var reg = /^[u4e00-u9fa5] $ /i; //중국어 포함

if ( reg.test(oCn) )
{
return true; 🎜>else{
parent.MyAlert("Key 키워드는 중국어로 입력해주세요!",alertImg)
return false;
}
}
catch(ex)
{
parent.MyAlert("키워드에 중국어를 입력하세요!" ,alertImg);
return false
}
}

// 중국어인지 확인하세요. letter
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 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) 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. 프롬프트와 오류 메시지가 함께 배치됩니다.


위 코드를 읽은 후 문제도 발견합니까? 다음 프로젝트에서 프롬프트와 오류 메시지가 다른 경우 위 코드를 다시 변경해야 합니다. 프롬프트 정보를 스크립트에 넣고 그것을 resources_zh.js라고 부르면 어떨까요?

다국어 버전의 소프트웨어에서도 인터페이스 언어를 전환하는 데 유사한 트릭이 사용되는 것을 발견하셨나요? 헤헤.



코드 복사
코드는 다음과 같습니다.


var page_res = {
"meter ": " "미터",
"킬로미터": "킬로미터", "마일": "마일", "야드": "야드", "도": "도" , "millimeter": "밀리미터", "saveMap": "지도 저장", "printMap": "지도 인쇄",
"queryResult": "쿼리 결과",
"queryResultNull": "쿼리 결과가 비어 있습니다.",
"experssionCanNotNull": "쿼리 표현식이 비어 있을 수 없습니다.",
"networkInfo": "경로 정보",
"arcInfo": "Arc 세그먼트 "Message",
"addEntitySuccess": "엔티티 추가에 성공했습니다!",
"addEntityFail": "엔티티 추가 실패!",
"updateEntitySuccess": "엔티티 업데이트 성공!",
"updateEntityFail": "기능 업데이트 실패!",
"updatePropertySuccess": "속성 업데이트 성공!",
"updatePropertyFail": "속성 업데이트 실패!",
"deleteEntitySuccess": "기능 삭제 성공 !",
"deleteEntityFail": "기능 삭제에 실패했습니다!",
"closestFacilityFail": "최근 시설 분석에 실패했습니다. 다시 선택하십시오.",
"fieldCanNotNull": "필드 수는 다음과 같습니다. 비어 있음",
"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 브라우저
{
시도
{
xmlhttpObj = new ActiveXObject("Microsoft.XMLHTTP");//IE4.0
}
catch (e)
{
시도
{
xmlhttpObj = new ActiveXObject("Msxml2.XMLHTTP");//IE5.0 이상
}
catch(e2)
{
xmlhttpObj=false
}
}
}
else if(window.XMLHttpRequest&&!xmlhttpObj) //브라우저 열기
{
xmlhttpObj = new XMLHttpRequest()
}
}
XHR.prototype.Onstar = 함수(메소드,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)을 사용합니다. ; 요청을 제출하면 됩니다.
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿