JS 학습 노트 12최적화 하 다.
1. 주석 추가
주석 은 코드 의 가 독성 과 유지 가능성 을 강화 할 수 있 습 니 다. 물론 이상 적 인 상황 은 주석 이 가득 하지만 현실 적 이지 않 습 니 다.그래서 우 리 는 중요 한 부분 에 주석 을 달 아야 한다.
초기 값 을 통 해 암시 합 니 다. 예 를 들 어:
var found = false;
var count = 1;
var name = '';
var student = null;
3. 디 결합 (레이 어 링)
elem.innerHTML = 'title
content
';
// ( )
//elem.style.display = 'block';
elem.style.color = '#e0e0e0';
// ( , )
//elem.className = 'my_class';
//
elem.onclick = function(e){
if(txt.value !== null && txt.value !== '' &&...){
//DOM
}
}
// ( )
function isValid(){
return txt.value !== null && txt.value !== '' &&...;
}
function display(){
//DOM
}
elem.onclick = function(e){
if(isValid()){
display();
}
}
논리 적 결합 을 피 하 는 몇 가지 원칙:
4. 인 코딩 원칙
var mySystem = {};
mySystem.mod1 = {...};
var Consts = {};
Consts.IMG_PATH = '../imgs/';
메모: 상수 에는 자주 사용 되 는 CSS 클래스 이름과 유지 보수 에 영향 을 줄 수 있 는 모든 값
성능 최적화
1. 긴 역할 도 메 인 체인 찾기 피하 기
여러 번 인용 해 야 할 전역 변 수 를 국부 변수 로 저장 합 니 다.
2. 되도록 with 문 구 를 사용 하지 마 세 요.
with 문 구 는 역할 영역 을 연장 하고 긴 역할 영역 에서 찾 는 비용 이 존재 합 니 다. 다른 부분 변 수 를 저장 하여 대체 할 수 있 습 니 다 (with 가 편리 하지 않 지만 다소 좋 습 니 다)
3. 불필요 한 속성 찾기 피하 기
// (6 )
var qs = window.location.href.substring(window.location.href.indexOf('?'));
// (4 , )
var url = window.location.href;
var qs = url.substring(url.indexOf('?'));
for(i = 0;i < 2;i++){
process(arr[i]);
}
//
process(arr[0]);
process(arr[1]);
process(arr[2]);
순환 횟수 가 확정 되 지 않 으 면 Duff 기술 (Tom Duff 가 발명 한) 로 일부 순환 을 전개 하여 효율 을 높 일 수 있다. 예 를 들 어:
//credit: Jeff Greenberg for JS implementation of Duff’s Device
// values.length > 0
var iterations = Math.ceil(values.length / 8);
var startAt = values.length % 8;
var i = 0;
do {
switch(startAt){
case 0: process(values[i++]);
case 7: process(values[i++]);
case 6: process(values[i++]);
case 5: process(values[i++]);
case 4: process(values[i++]);
case 3: process(values[i++]);
case 2: process(values[i++]);
case 1: process(values[i++]);
}
startAt = 0;
} while (--iterations > 0);
// :http://www.cnblogs.com/kylindai/archive/2013/12/04/3458476.html
혹은 더 빠 른 Duff 방법:
//credit: Speed Up Your Site (New Riders, 2003)
var iterations = Math.floor(values.length / 8);
var leftover = values.length % 8;
var i = 0;
if (leftover > 0){
do {
process(values[i++]);
} while (--leftover > 0);
}
do {
process(values[i++]);
process(values[i++]);
process(values[i++]);
process(values[i++]);
process(values[i++]);
process(values[i++]);
process(values[i++]);
process(values[i++]);
} while (--iterations > 0);
// :http://www.cnblogs.com/kylindai/archive/2013/12/04/3458476.html
발표 최적화
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.