티스토리 뷰

-함수 ?

앞에서 데이터를 저장할 때 변수를 선언하여 저장했다. 변수에는 데이터만 저장할 수 있고, 코드는 저장할 수 없다.

하지만 함수는 코드를 메모리에 저장했다가 필요할 때 마다 호출 한다.

 

% 변수와 함수의 차이점 ?

-> 함수는 1.자바스크립트 코드를 저장

2.function 이라는 키워드를 이용해 선언

3.출력문 제어문등의 코드를 저장하고 데이터를 반환

 

-함수 정의문

 

기본형 | function 함수명 () {

자바스크립트 코드;

}

 

익명함수(함수명이 없는 함수)를 선언하고 변수에 참조해도 된다

ex) 참조 변수=function() { 자바스크립트 코드; }

 

% 일반 함수 정의 VS 선언 참조 방식

일반 함수 정의는 함수 호출 시 호이스팅 기술을 지원하여 함수 정의보다 호출문이 먼저 나와도 함수 정의문을 끌어올려 함수 호출을 하지만 선언은 이것들이 불가능하다.

 

-매개변수가 있는 함수 정의문

기본 함수 정의문은 함수 안에 있는 코드를 실행할 때 단순히 함수명으로 호출해서 코드를 실행했다. ,함수를 호출할 때 값을 전달할 수 없었다. But 매개변수가 있는 함수 정의문은 함수를 호출할 때 전달하고자 하는 값을 입력하여 호출할 수 있다.

 

기본형 | function 함수명{ (매개변수1, 매개변수2, . . .n) {

자바스크립트 코드;

}

함수명(데이터1,데이터2, . . .데이터 n) ;

 

-매개변수 없이 함수에 전달된 값 받아오기

함수 정의문에서 arguments를 사용하면 매개변수를 사용하는 것처럼 함수 호출문의 값을 받아올 수 있다.

함수 정의문 매개변수가 없는 상태에서 데이터를 전달하여 함수를 호출하면 그 값은 배열에 저장됩니다.


arguments의 기본형

 

기본형 | function 함수명() {

arguments;

}

함수명(데이터1, 데이터2, 데이터3);

ex)매개변수를 생략한 함수 호출문에서 3개의 숫자형 데이터를 전달하는 예

숫자형 데이터: 배열에 저장 arguments 변수로 참조 O

 

function sum() {

var sum=arguments[0]+argument[1]+arguments[2];

 

documents.write(sum);

}

sum(10,20,30);