For loop_javascript 스킬 중 세미콜론으로 구분된 세 부분의 실행 순서에 대한 논의

WBOY
풀어 주다: 2016-05-16 16:46:43
원래의
1295명이 탐색했습니다.

이 질문을 촉발한 것은 js 프로그램의 실행 결과였습니다.

코드 복사 코드는 다음과 같습니다.

var i = 0;
함수 a(){
for(i=0;i}
}
함수 b(){
for (i=0;i<3;i ){
a();
}
return i;
}
var Result = b()
이 프로그램의 실행 결과는 Result = 21;

이 프로그램에서 함수 a가 반환될 때 i의 값이 20임을 알 수 있으며 이는 문제가 되지 않습니다.
b 함수가 반환될 때 i의 값이 20인지 21인지는 논의할 가치가 있습니다.
문제의 본질은 i<3인지, i를 먼저 판단하고, 그 다음에 i<3인지 판단하는 것입니다.

실행 결과에 따르면, 먼저 처형됐다.

코드 복사 코드는 다음과 같습니다.
function a(){
for (i= 0;i<20;i ){
// var i가 없습니다
//여기의 i는 누구나 접근할 수 있는 전역 변수입니다
}
}
함수 b(){
for(i=0;i<3;i ){
//alert(i);//마찬가지로, i도 전역 변수로, 0을 한 번만 반환합니다.
a();// 이 함수의 반환 값은 i=20입니다.
//i=20이 i를 통과한 다음 i=21이면 i<3 조건이 충족되지 않고 바로 종료됩니다. 따라서 i=21을 반환하면 이는 정상입니다!
}
return i;
}
var Result = b();

여기서 for 루프의 실행 순서를 완성합니다.
프로그램 예를 들어

코드 복사 코드는 다음과 같습니다.
for(int i= 0;i<10 ;i )
{
}

먼저 i=0;i<10;을 실행한 다음 루프의 첫 번째 라운드를 실행하고
실행합니다. : i ,i<10; 그런 다음 마지막 i 이후 i >= 10이 될 때까지 루프 본문
의 두 번째 라운드를 실행합니다. 이 지점에서 루프가 종료됩니다.

즉,

문 1은 루프(코드 블록)가 시작되기 전에 실행됩니다.

문 2는 루프(코드 블록)를 실행하기 위한 조건을 정의합니다. >
문 3은 루프(코드 블록)가 실행된 후 실행됩니다.
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿