티스토리 뷰

수업/└JavaScript

함수

onlyun 2022. 1. 6. 14:50

 

1. 함수

자주 쓰는 기능을 정의.

필요할 때 함수의 이름을 호출해서 사용.

 

함수 특징

위치에 상관없이 function 키워드가 붙은 함수를 브라우저가 최우선적으로 읽음. 메모리에 할당, 준비.

정의된 함수들을 파악한 후 위에서부터 순차적으로 시행. 따라서 함수 호출 위치가 함수를 선언하기 전에 있을 수 있음.

그러나 관례상 함수 선언을 먼저 해준다.

 

※ 함수 호이스팅 ※

브라우저는 함수 선언 부분을 가장 먼저 로딩(hoisting)한 후에 실행문을 순차적으로 실행.

스크립트가 바디 끝나기 마지막에 있다고 해도

가장 먼저 읽음(스캐닝). 그다음에 문서를 위에서부터 순차적으로 시행.

 

-함수 선언

//함수 선언 //함수명
function showStars() { 실행문; }

 

변수 선언 후 초기화하지 않으면

변수가 가지고 있는 값은 undefined(자바스크립트 특징)

 

-함수 호출

(먼저 함수 선언한 뒤 함수 호출한 경우)

선언한 함수로 가서 실행한 뒤 함수 호출문으로 내려와 그 다음을 순차적 실행

showStars();

 

-매개변수

외부에서 받아들이는 매개체 역할

함수의 입장에서 바라보면 매개변수, 호출하는 입장(외부)에서 바라보면 인자

<script>              // name은 매개변수 선언.
    function greeting(name) {
        document.write(name + ' hello<br>');
    }
</script>

 

 

 

-반환(return)

종료하면서 결과값을 가지고 돌아가라.

return; 이전까지 실행하고 호출된 자리로 돌아간다. 함수 종료란 뜻.

return은 간단한 수식으로 표현할 수도 있다. ex) return result * 10;

 

(2) 함수 종류 ★★★

-매개변수도 없고 반환값도 없는 함수

<script>
    function showStars() { // 함수 선언
        document.write('★★★★★★★<br>');
        document.write('★★hello★★<br>');
        document.write('★★★★★★★<br>');
    }
    //함수 호출
    showStars();
</script>

→ 결과

★★★★★★★
★★hello★★
★★★★★★★

 

-매개변수는 있고 반환값은 없는 함수

<script>
    function greeting(name) {
        document.write(name + ' hello<br>');
    }
    // 함수 호출
    greeting('hong');
    greeting('lee');
</script>

→ 결과

hong hello
lee hello

 

-매개변수는 없고 반환값은 있는 함수

<script>
    function getNum () { // getNum 함수는 (1+2)*10값을 리턴
        let result = 1 + 2;
        return result * 10;
    }
    // 함수 호출
    document.write('getNum의 값은 ' + getNum() + '<br>');
</script>

→ 결과

getNum의 값은 30

 

-매개변수도 있고 반환값도 있는 함수

<script>
    function getSum(a, b){ // getSum 함수는 매개변수 a, b를 더한값을 리턴
    return a + b;
    }
    // 함수 호출
    document.write('두 수의 합은' + getSum(2, 3));
</script>

 

→ 결과

두 수의 합은5

 

 

 

*Stack(스택 구조) : 입출구가 같음. ↔ 큐 : 입출구 다름, 선입 선출

함수 호출 관계 관리.

main 함수 실행 중에 showStars란 함수가 호출되면

main 함수가 일시정지, showStars 실행. showStars 실행 종료되면

원래 위치로 돌아가 순차적 실행. 메인 함수까지 실행 완료되면 종료.

 

차곡차곡 쌓임. 늦게 들어온 게 먼저 나감. 맨 먼저 들어온 게 맨 마지막에 나감.


showStars

Main

 

 

 

수업 파일

0106_08_ex_func.html
0.00MB
0106_00_func_re.html
0.00MB

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함