JavaScript
제어문
- 프로그램의 흐름을 제어
- 자바 언어와 완전 동일
- if문 / swtich문
if 문
if(조건식){
조건의 결과 참일 때 수행되는 문장;
1줄인 경우 괄호{} 없어도 됨
2줄 이상인 경우 반드시!! 괄호 있어야 함
}
if(조건식){
조건의 결과 참일 때 수행되는 문장;
} else{
조건의 결과 거짓일 때 수행되는 문장;
}
if(조건식1){
조건식 1의 결과 참일 때 수행되는 문장;
} else if(조건식2){ // else로 넘어왔다는 것은 조건식 1에 해당되지 않는다는 의미
조건식 1의 결과가 거짓이면서
조건식 2의 결과가 참일 때 수행되는 문장;
} else{
조건식 1, 2의 결과가 모두 거짓일 경우 수행되는 문장;
}
if(조건식1){
if(조건식2){
}
} else{
}
if문 연습문제
ifEx.js
var num1 = prompt("숫자 1 입력");
var num2 = prompt("숫자 2 입력");
var num3 = prompt("숫자 3 입력");
if(num1 < num2 && num3 < num2){
document.write("최대값 : " + num2);
}else if(num1 < num3 && num2 < num3){
document.write("최대값 : " + num2);
} else {
document.write("최대값 : " + num1);
}
ifEx-2.js - for문 사용
let max = 0;
for(let i = 0; i < 3; i++) {
let num = prompt(`숫자${i+1} 입력`);
if(max < num) max = num;
}
document.write(`최댓값 : ${max}`);
if문 연습문제2
ifEx3.js
- 아이디, 비밀번호를 입력받아 값이 일치하면 로그인 성공, 일치하지 않으면 로그인 실패 입력하기
- 단, 아이디, 비밀번호가 틀리면 경고창 띄우기
- ("아이디 또는 비밀번호가 일치하지 않습니다.")
var id_real = 'abcd';
var pw_real = '1234';
var id = prompt("아이디 입력");
if(id == id_real) {
var pw = prompt("비밀번호 입력");
if(pw == pw_real) {
document.write("로그인 성공");
}
} else {
alert("아이디 또는 비밀번호가 일치하지 않습니다.");
document.write("로그인 실패");
}
if문 연습문제3
ifEx4.js
- 로그인 성공하면 수도 퀴즈
- 대한민국의 수도는?
- 맞으면 정답입니다. 틀리면 틀렸습니다. 정답은 서울입니다 출력하기
var id_real = 'abcd';
var pw_real = '1234';
var sudo = '서울';
var id = prompt("아이디 입력");
var pw = prompt("비밀번호 입력");
if(id == id_real && pw == pw_real) {
alert(id+"님 반갑습니다");
var capital_input = prompt("대한민국의 수도는?");
if(capital_input == sudo) {
document.write("정답입니다.");
} else{
document.write("틀렸습니다. 대한민국의 수도는 서울입니다.");
}
} else {
alert("비밀번호가 일치하지 않습니다.");
document.write("로그인 실패");
}
if문 연습문제4
ifEx5.js
- 상품번호와 주문수량을 입력받아서 주문액, 할인액, 총지불액을 구하여 출력하는 프로그램 작성
- 노트북 120000원
- 운동화 100000원
- 할인액
- 주문액이 백만원 이상이면 주문액의 10%
- 50만원 이상, 100만원 미만이면 5%
- 50만원 미만 0%
var prdNo = prompt("상품번호 입력", "1또는 2 입력");
function f1(){
var prdCnt = prompt("주문수량 입력");
document.write("상품명 : " + prdName);
document.write("<br>");
document.write("가격 : "+prdPrice);
document.write("<br>");
document.write("주문수량 : "+prdCnt+"개");
document.write("<br>");
var order = prdCnt*prdPrice;
document.write("주문액 : "+order+"원");
document.write("<br>");
var discount = 0;
if(order >= 1000000) discount = order * 0.1;
else if (order >= 500000 && order < 1000000) discount = order * 0.05;
else discount = 0;
document.write("할인액 : "+discount+"원");
document.write("<br>");
document.write("총지불액 : "+(order-discount)+"원");
}
if(prdNo == 1 || prdNo ==2) {
if(prdNo == 1){
var prdName = '노트북';
var prdPrice = 120000;
f1();
} else {
var prdName = '운동화';
var prdPrice = 100000;
f1();
}
} else {
alert("잘못입력하셨습니다.");
}
switch문
switch(수식) { // (score) 또는 (score/10)
case 1: 처리할 문장-1; break;
case 2: 처리할 문장-2; break;
case 3: 처리할 문장-3; break;
...
default: 처리할 문장-n;
}
- 수식으로는 값의 결과가 정수, 실수, 문자열, 객체 값이어야 함
- case 뒤의 value로는 반드시 하나의 값만 사용 가능
- case 다음에는 콜론(
:
) 사용
- break문이 없는 경우 해당 case에서 실행이 멈추지 않고 다음 case까지 수행됨
- break 없어도 되는 경우 : 여러 개 case 한 번에 처리할 경우
- case 100 :
- case 95; grade = "A+"; break;
switch 연습문제1
- 숫자 입력 받아서 이미지 출력
- "다음의 숫자를 입력하세요" (1 / 2 / 3)
switchEx.js
var num = prompt("다음의 숫자를 입력하세요", "1, 2, 3 중에 입력하시오");
switch(num) {
case '1' :
document.write('<img src="image/lizard.png">');
break;
case '2' : 2
document.write('<img src="image/lizardon.png">');
break;
case '3' :
document.write('<img src="image/megalizardon.png">');
break;
default :
alert('잘못 입력했습니다.');
}