<함수> IGURS 겨울방학 프로젝트

장우진·2023년 1월 5일
0

겨울방학 프로젝트

목록 보기
6/12

함수의 선언

함수는 흔히 재사용성, 유지변수의 용이, 가독성을 유지하기 위해서 사용한다. 자바 스크립트의 함수선언은 C++과 pyhon과 다르다.

function 함수명 (인자){
   코드
   return 반환값
}

함수명 전에 자료형이나 def를 선언하는 언어들과 달리 함수의 영어표기인 function을 사용하여 함수를 선언한다. 다음 예시를 보며 설명하면

function print(){
    for(var i=0; i<10; i++){
        console.log("Hello World!");
    }
}
console.log(print());
console.log(print());
console.log(print());
console.log(print());
console.log(print());

매개변수가 없는 함수 print를 사용해서 Hello World를 50번 출력하는 코드이다. 이 코드를 함수를 사용하지 않고 표현하면 다음과 같다.

for(var i=0; i<10; i++){
    console.log("Hello World!");
}
for(var i=0; i<10; i++){
    console.log("Hello World!");
}
for(var i=0; i<10; i++){
    console.log("Hello World!");
}
for(var i=0; i<10; i++){
    console.log("Hello World!");
}
for(var i=0; i<10; i++){
    console.log("Hello World!");
}

이렇게 코드를 작성하면 가독성이 떨어질 뿐더러 같은 코드를 다시 사용하는데 번거로움이 생길 수 있다.


함수의 입출력

아래 코드는 두 정수의 합을 출력하는 간단한 코드이다.

function add(int1,int2){
    return int1+int2;
}
console.log(add(1,2));//3

자바 스크립트에서의 함수 매개변수는 자료형을 쓰지 않고 변수를 입력해야 한다. 리턴은 다른 언어와 같이 return 리턴값; 으로 정의한다. 리턴은 여러개가 동시에 실행될 수 없다.


함수의 다양한 정의

아래 두 코드는 같은 기능을 실행한다.

        add=function (int1,int2){
        return int1+int2;
    }
    console.log(add(1,2));//3
    function add(int1,int2){
        return int1+int2;
    }
    console.log(add(1,2));//3

이처럼
함수이름=function(매개변수)와 function 함수이름(매개변수)는 같은 기능을 수행한다. 또한 아래 코드와 같이 정의만 해두고 이름을 설정하지 않은 익명함수도 만들 수 있다.

    (function(int1,int2){
        return int1+int2;
    })();    
    console.log(add(1,2));//3

0개의 댓글