JavaScript에서는 함수 실행 시 컨텍스트를 변경하기 위해 호출, 적용, 바인딩이 모두 존재합니다. 즉, 함수 본문 내에서 this의 포인터를 변경하는 것입니다.
js에서 호출, 적용, 바인딩의 차이점
호출, 적용, 바인딩의 차이점은 다음 예제를 통해 확인할 수 있습니다.
var obj = { x: 81, }; var foo = { getX: function() { return this.x; } } console.log(foo.getX.bind(obj)()); //81 console.log(foo.getX.call(obj)); //81 console.log(foo.getX.apply(obj)); //81
세 가지 출력은 모두 81개이지만, 그 뒤에 괄호 쌍이 있습니다.
즉, 컨텍스트를 변경하고 바로 실행하고 싶지 않고 콜백 실행을 하려는 경우에는 바인드() 메소드를 사용한다는 것이 차이점입니다. 적용/호출은 즉시 기능을 실행합니다.
요약하자면:
apply, call 및 바인딩은 모두 함수의 this 개체 지점을 변경하는 데 사용됩니다.
apply, call 및 바인딩은 모두 this가 가리키는 개체의 첫 번째 매개 변수입니다. 즉, 지정하려는 컨텍스트는 모두 후속 매개변수를 사용하여 매개변수를 전달할 수 있습니다.
bind는 나중에 쉽게 호출할 수 있도록 해당 함수를 반환합니다.
이 기사는
js tutorial칼럼에서 가져온 것입니다. 배우신 것을 환영합니다!
위 내용은 js에서 호출, 적용 및 바인딩의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!