반응형
this
메소드를 호출한 객체가 저장되어 있는 속성
1. 일반 함수에서 this -> 전역 객체인 window
2. 중첩 함수에서 this -> window
3. 이벤트에서 this -> 이벤트 객체
4. 메소드에서 this -> 메소드 객체
5. 메소드 내부의 중첩 함수에서 this -> window
var value = 0
var obj = {
value: 1,
setValue: function () {
this.value = 2; // this -> obj
(function () { // 객체가 아닌 익명 함수
this.value = 3 // this -> window => window.value (전역 value) = 3
})();
}
}
obj.setValue()
console.log(value) // 3
console.log(obj.value) // 2
call
fun.call([thisObj[, arg[, arg2[, ...]]]])
un.call([thisObj[, arg[, arg2[, ...]]]])
- 호출하는데 사용됩니다. 이 메서드를 사용하여 함수의 this 객체를 원래 컨텍스트에서 thisObj로 지정된 새객체로 변경할 수 있습니다.
- argument
- fun 가져다쓸 메소드
- thisObj (optional) 현재 객체로 사용될 객체
- arg1, arg2, argN (optional) 메소드에 전달될 인수 목록
apply
fun.apply([thisObj[,argArray]])
- call 메소드와 동일 하나, call 메소드는 인자 하나 하나를, apply는 인자 리스트를 전달합니다.
- argument
- fun 가져다쓸 메소드
- thisObj (optional) 현재 객체로 사용될 객체
- argArray 함수에 전달될 인수 집합
반응형
'Front End' 카테고리의 다른 글
[JavaScript] enhanced object (0) | 2019.10.27 |
---|---|
[JavaScript] template tag function (0) | 2019.10.21 |
[JavaScript] forEach, map, reduce (0) | 2019.10.20 |
Template literal (0) | 2019.10.19 |
[JavaScript] Block Scope (0) | 2019.10.12 |