//레이블 문 사용법
outerloop:
for(var i = 0; i < 10; i++) {
innerloop;
for(var j = 0; j < 10; j++) {
if(j > 3) break; //가장 안쪽 루프를 중단한다.
if(i == 2) break innerloop; //위와 마찬가지
if(i == 4) break outerloop; //바같쪽 루프를 중단한다.
document.write("i =" + i +" j =" + j + "<br>");
}
}
document.write("FINAL i =" + i +" j =" + j + "<br>");
-------------------------------------------------------------------------------------------
//for문의 여러가지 형태
for(var i = 0; i < 10; i++) document.write(i, "<br>");
for(var i = 0, j = 10; i < 10; i++, j--) document.write(i*j, "<br>");
for(var i = 0, j = 10; i < 10; i++, j--) sum += i * j;
for(var i in o) document.write(i, "<br>");
for(var i = 0; i < a.length; a[i++] = 0); //빈문장이다. 배열 a를 0으로 초기화
for(i = 0; i < data.length; i++) {
if(data[i] == null)
continue;
total += data[i];
}
-------------------------------------------------------------------------------------------
//if문 판단 예제
if(username == null) username = "John Doe"; //username이 null또는 undefined일때 그것을 정의한다.
if(!username) username = "John Doe"; //username이 null, undefined, 0, "", 또는 NaN이면 false로 반환될 수 있다.
//이때 이어지는 문장에서 username에 새로운 값을 할당
-------------------------------------------------------------------------------------------
/*switch예제(함수를 부를때에는 break문 대신 return문을 쓸수도 있음)
*아래 예제 참고
*/
switch(n) {
case 1:
//코드 블럭 #1을 실행
break;
case 2:
//코드 블럭 #2을 실행
break;
case 3:
//코드 블럭 #3을 실행
break;
default:
//코드 블럭 #4를 실행
break;
}
function convert(x) {
switch(typeof x) {
case 'number': //주어진 숫자를 16진수 정수로 바꾼다.
return x.toString(16);
case 'string': //주어진 문자열을 큰따옴표로 묶어서 반환한다.
return '"' + x + '"';
case 'boolean': //대문자 TRUE또는 FALSE로 변환한다.
return x.toString().toUpperCase();
default: //그 이외의 타입은 통상적인 방법으로 변환한다.
return x.toString();
}
-------------------------------------------------------------------------------------------
//while사용예
var count = 0;
while(count < 10) {
document.write(count + "<br>");
count++;
}
-------------------------------------------------------------------------------------------
//for in 루프 사용예 for(변수 in 객체) 문장
for(var prop in my_object) {
document.write("name: " + prop + "; value:" + myobject[prop], "<br>"); //주어진 객체의 모든 프로퍼티에 대해 이름과 값을 출력한다.
}
var o = {x:1, y:2, z:3}; //주어진 객체의 모든 프로퍼티 이름을 배열에 복사한다.
var a = new Array();
var i = 0;
for(a[i++] in o) /*루프 몸체는 비어있다. */
-------------------------------------------------------------------------------------------
//do/While문 사용법
do
문장
while (표현식);
function printArray(a) {
if(a.length == 0)
document.write("Empty Array");
else {
var i = 0;
do {
document.write(a[i] + "<br>");
} while (++i < a.length);
}
}
-------------------------------------------------------------------------------------------
//그밖의 문법정리
empty; <----아무일도 안함
continue;
continue 레이블; //레이블로 명명된 루프를 재시작한다.
break;
break 레이블; //레이블로 명명된 문장에서 빠져나온다.
-------------------------------------------------------------------------------------------
[출저] http://yih2080.dothome.co.kr/js_2.html