1. 함수
자바스크립트에서 데이터를 전달 받아 정해진 작업을 수행하고 그 결과를 리턴하도록 작성된 코드 블록
2. 함수의 구성
function 함수이름(arg1, arg2, ..., argn) {
...프로그램 코드...
결과를 리턴하는 return 문
}
function adder (a, b) {
var sum;
sum = a + b;
return sum; //덧셈 합 리턴
}
3. 함수 호출
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>함수</title>
<script>
function adder(a, b) {
var sum;
sum = a + b;
return sum;
}
</script>
</head>
<body>
<h3>함수 adder</h3>
<hr>
<script>
var n = adder(24567, 98374); //함수 호출
document.write("24567 + 98374는 " + n + "<br>");
</script>
</body>
</html>
4. 자바스크립트의 전역 함수
① eval() 함수
: 수식이나 자바스크립트 문장을 문자열 형태로 전달받아 실행한 후 결과를 리턴
var res = eval("2*3+4*6"); //res는 30
② parseInt() 함수
: 문자열을 숫자로 변환하여 리턴
var 1 = parseInt("32"); //"32"를 10진수로 변환하여 정수 32 리턴
var 2 = parseInt("32", 16); //"32"를 16진수로 해석하여 정수 50 리턴
var 3 = parseInt("0x32"); //"0x32"를 자동으로 16진수로 해석하여 정수 50 리턴
③ isNan() 함수와 parseInt() 함수
- isNan()
: 매개 변수의 값이 NaN이면 true 리턴
var n = NaN;
var B = isNaN(n); //true 리턴
: 주로 parseInt() 함수의 리턴 값을 검사하기 위해 사용
var n = parseInt("hello"); //"hello"는 정수로 변환할 수 없으므로 parseInt("hello")는 NaN 리턴
if(isNaN(n)) { //true
document.write("hello는 숫자가 아닙니다.");
}
<예시>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>자바스크립트 전역 함수</title>
<script>
function evalParseIntIsNaN() {
var res = eval("2*3+4*6");
document.write("eval(\"2*3+4*6\")는 " + res + "<br>");
var m = parseInt("32");
document.write("parseInt(\"32\")는 " + m + "<br>");
var n = parseInt("0x32");
document.write("parseInt(\"0x32\")는 " + n + "<br><br>");
//"hello"는 정수로 변환할 수 없으므로 parseInt("hello")는 NaN 리턴
n = parseInt("hello");
if(isNaN(n)) {
document.write("hello는 숫자가 아닙니다.");
}
}
</script>
</head>
<body>
<h3>eval(), parseInt(), isNaN()</h3>
<hr>
<script>
evalParseIntIsNaN();
</script>
</body>
</html>
<예시2>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>함수 만들기</title>
<script>
function gugudan(n) {
var m = parseInt(n);
if(isNaN(m) || m<1 || m>9) { //n이 1~9 사이의 숫자가 아닌 경우 처리
alert("잘못 입력하셨습니다.");
return;
}
for(var i=1; i<=9; i++) {
document.write(m + " x " + i + " = " + m*i + "<br>");
}
}
</script>
</head>
<body>
<h3>구구단 출력 함수 만들기</h3>
<hr>
<script>
var n = prompt("구구단 몇 단을 원하세요", "");
gugudan(n); //구구단 출력 함수 호출
</script>
</body>
</html>
'JavaScript > 1. 자바스크립트 언어' 카테고리의 다른 글
★Day 45 : Exercise (0) | 2021.12.20 |
---|---|
Day 45 : 별문자(*) 출력하기 (0) | 2021.12.20 |
Day 45 : 제어문 (조건문/반복문) (0) | 2021.12.20 |
Day 45 : 연산자 (0) | 2021.12.20 |
Day 45 : 데이터 타입과 변수 (0) | 2021.12.20 |