>웹 프론트엔드 >JS 튜토리얼 >javascript에 인색해지는 법을 배우고 code_javascript 기술을 합리화하세요

javascript에 인색해지는 법을 배우고 code_javascript 기술을 합리화하세요

WBOY
WBOY원래의
2016-05-16 18:28:541084검색

1. 코드에 인색하고 최소한의 코드를 사용하여 가장 적절한 작업을 수행하세요.
예를 들어 코드에서 document.getElementById()를 많이 사용하는 경우 간단한 ID 선택기 작성을 고려해 보셨나요

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

function $(Id)
{
return document.getElementById(Id ; 리팩터링?
예를 들어, 이미 완전한 양식 규칙성 검증 프레임워크가 있고 어느 날 특정 양식이 진지한 프레임워크에서 해당 규칙성을 찾을 수 없다는 것을 발견한 경우 가능한 접근 방식은 단순히 if를 추가하여 이를 달성하는 것입니다. 코드를 깔끔하게 유지하기 위해 유효성 검사 프레임워크에서 정규식을 확장하면 어떨까요?
, 스티키 코드 실행 단계
예를 들어 Ajax 코드를 작성할 때 다음과 같은 코드를 작성하는 경우가 많습니다.




코드 복사
코드는 다음과 같습니다. var xmlObject; function createXMLHTTPRequest()
{
if(window.ActiveXObject)
{  
xmlObject = new ActiveObject( "Microsoft.XMLHTTP")
else
{ ​
xmlObject = new XMLHTTPRequest()
}
}


하지만 객체를 생성할 때마다 객체를 처음 생성한 후 이를 기억하고 다음에 새로 생성하면 어떨까요? 개선된 코드는 다음과 같습니다



코드 복사
코드는 다음과 같습니다. var _ajax = function(){ _self = this; }
_ajax.prototype = {
/**
* http 요청 객체 빌드
*/
_create: function(){
var 팩토리 = [
function() {return new XMLHttpRequest();}, //IE가 아닌 시리즈
function(){return new ActiveXObject("Microsoft.XMLHTTP");}, //IE
function() {return new ActiveXObject("Msxml2 .XMLHTTP");} //IE의 일부 버전
]
for (var i = 0; i try {
if (factories[i ]()) {
return Factory[i];
}
}
catch (e) {
continue;
return Factory[2 ];
}(),
}


이 코드는 위 코드보다 더 많은 단계로 보이지만 _ajax._create()를 호출하면 처음으로 _ajax._create가 현재 브라우저와 호환되는 익명 함수로 변경되었으며 후속 호출은 더 이상 판단을 내리지 않습니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.