>  기사  >  웹 프론트엔드  >  JavaScript의 중단, 계속 및 반환 간의 차이점에 대한 간략한 분석

JavaScript의 중단, 계속 및 반환 간의 차이점에 대한 간략한 분석

高洛峰
高洛峰원래의
2016-12-03 13:41:091100검색

휴식

function myBreak() {
for(var i = 0; i < 5; i++) {
if(i == 3) {
break;
}
console.log(i);
}
}
myBreak();

출력:

0
1
2

break: 현재 루프에서 직접 점프하고 현재 루프 외부에서 실행을 시작합니다. 루프 본문의 다른 문과 루프 조건 테스트는 무시합니다. 루프의 한 수준에서만 벗어날 수 있습니다. 루프가 중첩 루프인 경우 중첩 수준에 따라 단계별로 중단을 사용해야 합니다.

계속

function myContinue() {
for(var i = 0; i < 5; i++) {
if(i == 3) {
continue;
}
console.log(i);
}
}
myContinue();

출력:

0
1
2
4

continue: 현재 루프 프로세스를 종료하지만 루프에서 벗어나지 않고 루프 조건 실행문을 계속 판단합니다.

루프에서 하나의 프로세스만 종료할 수 있지만 계속하기 위해 루프를 종료할 수는 없습니다.

반환

function myReturn() {
for(var i = 0; i < 5; i++) {
if(i == 3) {
return i;
}
console.log(i);
}
}
var s = myReturn();
console.log("s: " + s);

출력:

0
1
2
초: 3

return: 현재 메소드를 종료하고, 호출된 메소드의 명령문으로 돌아가 실행을 계속합니다.

요약

1. return문의 기능

(1) return은 현재 메소드를 종료하고, 호출된 메소드의 문으로 복귀하여 실행을 계속한다

(2) return은 메서드를 호출하는 문에 값을 반환합니다. 반환 값의 데이터 형식은 메서드 선언의 반환 값 형식과 일치해야 합니다. 강제 형식 변환을 사용할 수 있습니다. 데이터 유형 일관성

(3) return 메서드 설명에서 void를 사용하여 반환 유형이 비어 있음을 선언하는 경우 이 형식을 사용해야 하며 값이 반환되지 않습니다.

2. break 문의 역할

(1) break 문은 루프 본문과 스위치 문 내에서만 사용할 수 있습니다.

(2) 루프 본문에서 스위치 문 본문에 break가 나타나면 그 기능은 단지 스위치 문 본문에서 빠져나오는 것뿐입니다.

(3) break가 루프 본문에 있지만 switch 문 본문에는 없으면 break가 실행된 후 현재 루프 본문이 점프 아웃됩니다.

(4) 루프 구조에서 break 문을 사용하여 프로세스가 현재 루프 본문에서 벗어나도록 하여 현재 루프를 조기에 종료합니다

3.

(1 ) continue 문의 일반적인 형식은 다음과 같습니다: continue;

(2) 이 루프의 기능은 이 루프를 종료하는 것, 즉 루프 본문에서 실행되지 않은 나머지 문을 건너뛰는 것입니다. 을 누른 다음 루프 상태 결정을 다시 수행하십시오.

(3) 참고: continue 문을 실행해도 전체 루프가 종료되지는 않습니다. while 및 do-while 루프에서 continue 문은 흐름이 루프 제어 조건의 테스트 부분으로 직접 점프하도록 하며, 그런 다음 루프가 계속되어야 하는지 여부를 결정합니다.

(4) for 루프에서 continue를 만난 후 루프 본문의 나머지 문을 건너뛰고 for 문에서 "표현식 3"을 평가한 다음 "표현식 2" 조건부 테스트를 진행합니다.

는 최종적으로 "expression 2"의 값을 기반으로 for 루프의 실행 여부를 결정합니다. 루프 본문 내에서는 continue가 어떤 문장 구성요소로 사용되더라도 위 함수에 따라 실행되는데, 이는 break


와는 다릅니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.