js 최적화 횟수 과 다 한 순환 성능 문제 고려
var numbers = [];
for (var i = 0; i < 10000000; i++) {
numbers.push(Math.random());
}
그러나 IE 에서 이 코드 를 실행 할 때 사용자 가 이 스 크 립 트 를 중단 할 지 여 부 를 알려 주 는 창 이 팝 업 됩 니 다.이런 상황 이 발생 하면 가장 먼저 생각 나 는 것 은 순환 체 를 최적화 하 는 것 이다.그러나 분명히 순환 체 는 간단 하고 최적화 할 여지 가 없다.순환 체 를 비 워 도 힌트 는 존재 합 니 다.그래서 나 는 IE 에서 순환 횟수 가 특정한 값 을 초과 하면 스 크 립 트 를 멈 추 라 는 힌트 가 나온다 고 결론 을 내 렸 다.원인 을 찾 았 으 니 어떻게 해결 해 야 합 니까?내 가 먼저 생각 한 것 은 천만 번 의 순환 을 몇 번 의 횟수 가 적은 순환 으로 나 누 는 것 이다.예 를 들 어 백 번 으로 나 뉘 어 매번 에 10 만 번 의 순환 을 집행 한다
for (var i = 0, j; i < 100; i++) {
for (j = 0; j < 100000; j++) {
......
}
}
IE 는 우리 가 상상 하 는 것 보다 멍청 하지 않 고 전체적인 순환 횟수 가 천만 번 인지 안다.따라서 이 100 만 번 의 순환 을 분리 해 집행 해 야 한다.자바 script 은 단일 스 레 드 이지 만 setTimeout 이나 setInterval 을 통 해 다 중 스 레 드 를 모 의 할 수 있 습 니 다.전체 코드 최 적 화 는 다음 과 같다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
요점 자바 9 순환첫 번 째 부분 은 우리 가 이 말 (순환 체) 에 들 어 갈 때 실 행 됩 니 다. 두 번 째 부분 은 판단 문 으로 되 돌아 갈 때 true 괄호 안에 있 는 내용 을 실행 하고 되 돌아 오 면 false 우...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.