티스토리 뷰

함수를 호출하는 색다른 방법

 

자바스크립트에서 함수라는건 일종의 객체 객체는 속성을가지고있음 속성의 값이 저장이 되어있다면 속성

 

속성에 함수가 들어있다면 메소드라고 부름

 

<script>
            function func() {}
            func();
</script>

 

func는 객체이기에 이건 메소드를 가지고있다. 자바스크립트가 기본적으로 제공하는 내장된 객체이다.

 

<script>
            function sum(arg1, arg2) {
                return arg1 + arg2;
            }
            alert(sum.apply(null, [1, 2]))
</script>

sum은 함수다. 메소드. 

 

apply를 사용하는 구체적 이유

 

<script>
            o1 = {
                val1: 1,
                val2: 2,
                val3: 3
            }
            o2 = {
                v1: 10,
                v2: 50,
                v3: 100,
                v4: 25
            }

            function sum() {
                var _sum = 0;
                for (name in this) {
                    _sum += this[name];
                }
                return _sum;
            }
            alert(sum.apply(o1)) // 6
            alert(sum.apply(o2)) // 185
</script>

만약 apply의 첫번째 인자로 null을 전달하면 apply가 실행된 함수 인스턴스는 전역객체(브라우저에서는 window)를 맥락으로 실행되게 된다.

'코딩 공부 > 생활 코딩' 카테고리의 다른 글

생활 코딩 - arguments  (0) 2021.08.18
생활 코딩 - 클로저  (0) 2021.08.18
생활 코딩 - 값으로서의 함수와 콜백  (0) 2021.08.18
생활 코딩 - 유효범위  (0) 2021.08.18
생활 코딩 - 객체  (4) 2021.08.17
댓글
© 2022 chanchaning