js 배열 의 for 순환 은 도대체 어떻게 써 야 합 니까?

1729 단어 js배열for 순환
그리고 오늘부터 내 가 어떤 권 위 를 의심 하 는 지 보 자.녀석..프로 그래 밍 을 배우 기 시 작 했 을 때 부터 배열 이라는 것 을 접 한 후부 터 저 는 서로 다른 장소 와 다른 시간 에 누군가가 알 리 는 것 을 계속 보 았 습 니 다.for 로 배열 을 옮 길 때 반드시 for(var i=0,n=arr2.length;iarr.length;i++)방식 입 니 다.머리 로 생각해 보면 두 번 째 방법의 두 번 째 부분 은 배열 의 length 를 계속 계산 하기 때문에 자연 효율 이 낮 습 니 다.어?우 리 는 다른 프로그램 언어 를 말 하지 않 고 js 만 토론 합 니 다.서로 다른 언어 때문에 실현 이 다 를 수 있 습 니 다.다른 언어 가 어떤 상황 인지 여러분 이 탐색 해 야 합 니 다.사실 위 에서 말 한 이른바'머리 를 써 보면 알 수 있다'는 것 은 단지 사람들 이 머리 로 만 생각 했 기 때 문 일 것 이다.곰 곰 이 생각 하거나 직접 해 보 았 기 때 문 일 것 이다.그래서 지금 생각해 보 자.첫 번 째 글 씨 는 정말 두 번 째 글 씨 를 쓰 는 것 보다 빠 를 까?arr.length 는 cpu 를 많이 소모 합 니까?아니,왜 cpu 를 써 야 합 니까?arr.length 는 하나의 방법 을 호출 한 것 이 아니 라 배열 의 length 속성 을 읽 었 을 뿐 입 니 다.원생 속성 을 읽 고 정 의 된 변 수 를 읽 으 면 어느 것 이 빠 를 것 같 습 니까?나 는 length 를 읽 는 것 이 더 빠 를 것 이 라 고 생각 하기 때문에 나 는 테스트 를 써 서 자신의 생각 을 테스트 했다.나 는 나의 작은 테스트 프레임 워 크 를 사용 했다
 
var arr=[],arr2=[],i=0
while(i<100000){
arr.push(i)
arr2.push(i)
i++
}
M.TA.begin("0000");
for(var i=0;i<arr.length;i++){
arr[i]=arr[i]*arr[i]*arr[i]
}
M.TA.end("0000","for(var i=0;i<arr.length;i++)")
M.TA.begin("0001");
for(var i=0,n=arr2.length;i<n;i++){
arr2[i]=arr2[i]*arr2[i]*arr2[i]
}
M.TA.end("0001"," for(var i=0,n=arr2.length;i<n;i++)")
M.TA.showResult()
물론 이 코드 는 매우 변태 적 이 고 300 여 조 의 메모 리 를 차지 했다.결 과 는 다음 과 같다.chromefireforx사실 이 테스트 를 하 는 것 은 for(var i=0 을 강조 하기 위해 서가 아니다.i

좋은 웹페이지 즐겨찾기