티스토리 뷰
함수를 호출하는 색다른 방법
자바스크립트에서 함수라는건 일종의 객체 객체는 속성을가지고있음 속성의 값이 저장이 되어있다면 속성
속성에 함수가 들어있다면 메소드라고 부름
<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