다음 함수는 단순히 문서에서 지정된 태그 이름을 가진 요소를 반환합니다. 함수를 연속적으로 호출 할 때 어떤 이유로 함수의 실행 속도가 느려지고 느려집니다.이를 철저히 테스트 했으므로 for-loop 라인을 테스트했지만 왜 연속 호출이 느려지는지 이해하지 못합니다 .Javascript : 여러 함수 실행시 신비한 지연
function getElementsByTagName2(tagName){
var arr=new Array();
var elems=document.getElementsByTagName(tagName);
for(var i=0, len=elems.length; i!=len; arr.push(elems[i++]));
return arr
}
편집 : 사용자 이름을 257493으로 변경했습니다.
EDIT1 : 그냥 jQuery를 테스트 한 것과 같은 문제가 있습니다. 그러나 성능 저하는 미미합니다.
호기심에서 벗어난이 프로그램을 오랫동안 사용하지 않으면 브라우저의 메모리 사용량이 눈에 띄게 증가 했습니까? –
각 호출마다 배열의 새 인스턴스를 만드시겠습니까? 얼마나 많은 인스턴스가 느려지 기 시작합니까?jQuery를 고려해 보셨습니까? 이 도구를 사용하면 요소 세트를 작성하고 해당 세트에 대해 조작 할 수 있습니다. – Mayo
나는이 일이 무엇을하는지 알지 못한다. 그것은 나에게 모든 함수 몸체는'return document.getElementsByTagName (e)'로 대체 될 수 있다고 생각합니다. 경기 침체를 보여주는 예가되고 있습니까? – deceze