이하에서는, 여러 문들을 다양하게 결합하면서 스크립트의 문에 관해 좀 더 살펴봅니다만,
아직 배우지 않은 부분은 대충 이해하면서 넘어가시고.. 나중에 다시 와서 살펴보십시오.
한번에 다 적을 수도 없고, 한번에 다 배울 수도 없습니다.
반복하여 돌아오고, 다시 나아가고 하는 과정을 수없이 거쳐야만
그나마 조금씩 자바스크립트 프로그래밍의 개념이 잡힐겁니다 ㅡㅡ;
[ for 문과 if 문의 결합 ]
const namsan= ["칠불암", "백운암", "상선암"]
let info= "남산의 암자들: "
for(let i= 0; i < namsan.length; i++) { // 카운터 변수 선언 및 초기화; 조건 평가; 증감 카운터
if(i === namsan.length - 1) // namsan 배열의 마지막 인덱스 요소에 이르면; ← 배열의 인덱스번호는 0부터 시작한다!
info += "그리고 " + namsan[i] + "." // '그리고'를 앞에 붙이고, 뒤에 '.'을 찍어준다
else
info += namsan[i] + ", " // 해당 암자 이름(namsan[i])을 적고, ', '로 연결한다..
}
document.write(info) // 남산의 암자들: 칠불암, 백운암, 그리고 상선암.
[ while 문과 if 문의 결합 ]
const namsan= ["칠불암", "백운암", "상선암"]
let info= "남산의 암자들: "
let i= 0; // 카운터 변수 초기값
while(i < namsan.length) { // 배열 namsan의 길이(3)보다 작으면 루프에 들어간다
if(i === namsan.length - 1) // 배열의 마지막 요소에 이르면; ← 배열의 마지막 요소 인덱스번호는 [배열.length-1]이다!
info += "그리고 " + namsan[i] + "."; // 마지막 요소의 값 앞에 '그리고'를 붙이고, 뒤에는 '.'을 붙여준다
else // 배열의 마지막 요소 전까지;
info += namsan[i] + ", "; // 각 요소의 값에다 ','를 붙이고.. 하나의 문자열로 연결해나간다
i++; // 증감 카운터
}
document.write(info) // 남산의 암자들: 칠불암, 백운암, 그리고 상선암.
[ do .. while 문과 if 문의 결합 ]
const namsan= ["칠불암", "백운암", "상선암"]
let info= "남산의 암자들: "
let i= 0; // 카운터 변수 초기값
do { // 일단, 루프에 들어간다!
if(i === namsan.length-1) info += "그리고 " + namsan[i] + ".";
else info += namsan[i] + ", ";
i++ // 증감 카운터
} while (i < namsan.length); // 나오면서 조건을 평가하여 다시 루프로 들어갈지 여부를 결정한다!
document.write(info) // 남산의 암자들: 칠불암, 백운암, 그리고 상선암.
[ if 문과 do .. while 문의 결합 ]
const ary= [1, 2, 3, 4, 5]
let len= ary.length // 배열의 길이: 5
let i= 0 // 카운터 변수 초기화
if(len === 0) { // 빈 배열인 경우
console.log("비었음 !")
} else {
do { // 일단 루프로 들어가고..
console.log(ary[i++]) // 1 2 3 4 5 ← 배열의 요소값(ary[i]) 출력 이후, 조절 카운터를 증가시킨다(i++)
} while (i < len); // 다시 루프로 들어갈지 조건을 평가한다 ← 증감 카운터 i 값이 5가 되면 더는 루프에 들어가지 않는다!
}
[ if 문과 for 루프문의 결합 ]
let num= prompt("몇 단?", '1 ~ 9 사이의 숫자로 입력하세요: ')
if(num === '' || isNaN(num)) { // 입력한 값이 없거나 숫자가 아니라면;
alert("다시 바르게 입력하세요!");
} else if(num < 1 || num > 9) { // 1 ~ 9 사이의 숫자가 아니라면;
alert("구구단이라니까요!!");
} else {
for(let i=1; i < 10; i++) {
document.write(`${num}*${i}= ${num*i} `);
} // 9*1= 9 9*2= 18 9*3= 27 9*4= 36 9*5= 45 9*6= 54 9*7= 63 9*8= 72 9*9= 81
}