//setviacall()'this'는 함수가 호출될 때 내 개체를 가리킵니다. 🎜>this.foo = param1;
this.bar = param2;
//logs Object{foo = 'foo', bar = 'bar'}
console.log(this); };
// 함수를 호출하고 이 값을 myObject로 설정합니다.
myFunction.call(myObject, 'foo', 'bar')
// Object {foo = 'foo', bar = ' bar'}
console.log(myObject)
call() 메소드의 첫 번째 매개변수는 필요한 this 값입니다. 그런 다음 원하는 수의 매개변수를 전달할 수 있습니다. 다음으로 apply() 메소드의 사용을 소개하겠습니다.
var myObject =
var myFunction = function(param1, param2) {
//apply()를 통해 설정합니다. 이는 함수가 호출될 때 내 개체를 가리킵니다.
this.foo=param1;
this.bar=param2; >// 로그 Object{foo='foo', bar='bar'}
console.log(this)
}
// 함수 호출, 이 값 설정
myFunction.apply (myObject, ['foo', 'bar']);
// Object {foo = 'foo', bar = 'bar'}
console.log(myObject)
기록
call() 메소드와 비교해보면, 메소드 시그니처가 다르다는 점 외에는 apply() 메소드와 call() 메소드 사이에 큰 차이가 없다는 것을 알 수 있었습니다.
1.1.3 요약
이 글은 Javascript에서 this의 사용법을 소개하고, 더 중요하게는 전역 변수, 함수, 일부 특별한 경우에는 중앙값의 생성자와 변경 사항이 있습니다.
함수 컨텍스트에서 this 값은 함수 호출자가 제공하며 현재 호출 표현식의 형식에 따라 결정됩니다. 호출하는 대괄호()의 왼쪽에 참조 유형 값이 있는 경우 이 값은 참조 유형 값의 기본 개체로 설정됩니다. 다른 모든 경우(비참조 유형)의 경우 이 값은 항상 null입니다. 그러나 null은 이에 대한 의미가 없으므로 암시적으로 전역 개체로 변환됩니다.
특수한 경우 할당 연산자, 쉼표 연산자 및 || 논리 표현식으로 인해 원래 참조 유형 값이 손실되고 함수 유형이 되며, 이 값은 전역 객체가 됩니다.
참고
[1]
http://dmitrysoshnikov.com/ecmascript/chapter-3-this/
영어 버전[2]
http:// blog. goddyzhao.me/post/11218727474/this
번역[3]
https://net.tutsplus.com/tutorials/javascript-ajax/full-understanding-the-this-keyword/
[작성자] : JK_Rush