제가 코드를 작성하면서 겪은 일들을 정리해서 공유한 것입니다. 순서는 없고 그냥 생각나는 대로 썼습니다.
1. 전역 변수 사용을 피하려면 지역 변수를 사용하세요.
예를 들어
다음으로 변경
지역 변수의 장점은 범위 체인 검색이 줄어든다는 것입니다. 참조가 두 개인 경우 지역 변수를 사용하는 것이 좋습니다.
2. with 사용을 피하세요.
그 이유는 with가 자체 범위를 생성하여 원래 범위 체인이 길어지고 with 블록에서 실행되는 코드가 느려지기 때문인 것으로 알고 있습니다. 서면으로 코드를 저장하는 것처럼 보이지만 실제로는 액세스 시간이 길어집니다. 번거로워지고 성능이 저하됩니다.
와 함께 사용
실제로는 다음과 같이 쓸 수 있습니다.
3. nodelist 순회 방법
일반적인 방법은
(참고: 이 방법은 nodelist에서 사용할 수 있으나, array에서 사용하면 문제가 발생합니다. array에 0이나 null이 있으면 blind가 됩니다.)
var as = document.getElementsByTagName('div');
for(var i=0,l<as.length;i<l;i++){//길이는 한 번만 계산합니다.}
한 번도 내 뜻대로 안 됐어
for(var i=0,ci;ci=as[i++];){}nodeList가 완료되면 false가 되어 종료됩니다.
장점은 길이를 계산할 필요가 없고 루프에서 값을 할당할 필요가 없으며 코드가 훨씬 적고 판단에 i++가 사용된다는 점입니다.
함수 테스트(){
var ds = document.body;
ds.clientHeight = '200px';
ds.clientWidth = '200px'
}
함수 테스트(){
with(document.body){
클라이언트 높이 = '200px';
클라이언트 너비 = '200px'
}
}
함수 테스트(){
var d = 문서;
s = d.getElementById('aaa');
s.innerHTML = d.body.clientHeight;
}
함수 테스트(){
var s = document.getElementById('aaa');
s.innerHTML = document.body.clientHeight;
}