데이터를 저장할 때 변수를 사용한다. 변수에는 데이터만 저장할 수 있고 실행문을 저장할 수는 없다.
하지만 함수를 사용하면 실행문을 저장했다가 필요할 때 마다 호출하여 사용할 수 있다.
기본 함수 정의문
함수를 사용하여 실행문을 저장한 것을 함수 정의문이라고 한다. 함수 정의문은 아래처럼 선언해서 사용할 수 있다.
/*
function 함수명(){
실행문;
}
*/
아래와 같이 익명 함수를 선언하고, 변수에 참조시켜도 가능하다.
/*
참조변수 = function(){
실행문;
}
*/
함수 정의문 {} 내에 작성된 실행문은 코드가 로딩될 때 바로 실행되는 것이 아니고, 함수 호출에 의해서만 실행된다.
정의된 함수를 호출하는 기본문법은 아래와 같다.
/*
함수명(); 또는 참조변수();
*/
매개변수가 있는 함수 정의문
기본 함수 정의문은 함수 내에 있는 실행문을 실행시킬 때, 단순히 함수명으로 호출해서 실행했다. 즉, 함수를 호출할 때 값을 전달할 수는 없다.
하지만 매개변수가 있는 함수 정의문은 함수를 호출할 때 전달 값을 입력하여 호출할 수 있다. 이렇게 전달된 값은 매개변수가 받아서 함수 정의문 내의 실행문에 사용할 수 있게 된다.
아래는 함수를 호출할 때 값을 전달하는 기본문법이다.
/*
function 함수명(매개변수1, 매개변수2, ... 매개변수n){
실행문;
}
함수명(데이터1, 데이터2, ... 데이터n);
*/
함수를 호출할 때, 데이터1은 매개변수1에 저장되고 데이터2는 매개변수2에 저장된다.
내장함수
내장함수는 자바스크립트 엔진에 내장된 함수 정의문을 말한다. 앞서 함수는 반드시 개발자가 함수 정의문을 선언하고 호출을 해야만 함수 내 실행문을 실행할 수 있었다.
하지만 내장함수는 이런 함수 정의문의 선언 없이 단지 호출만으로 자바스크립트에 이미 내장되어 있는 함수들을 사용할 수 있다.
-내장함수의 종류
parseInt() : 문자형 데이터를 정수형 데이터로 바꾼다.
parseFloat() : 문자형 데이터를 실수형 데이터로 바꾼다.
String() : 문자형 데이터로 바꾼다.
Number() : 숫자형 데이터로 바꾼다.
Boolean() : 논리형 데이터로 바꾼다.
inNaN() : 데이터에 숫자가 아닌 문자를 포함하면 true를 반환한다.
eval() : 문자형 데이터를 따옴표가 없는 스크립트 코드로 처리한다.