Function.prototype.bind 방법의 실현 원리
2995 단어 프런트 엔드
Function.prototype.bind = Function.prototype.bind || function(context) {
var me = this;
var args = Array.prototype.slice.call(arguments, 1);
return function() {
var innerArgs = Array.prototype.slice.call(arguments);
var finalArgs = args.concat(innerArgs);
return me.apply(context, finalArgs);
}
}
//context this
//me
//finalArgs
bind는 즉시 호출하는 그 방법의 실례가 아니기 때문에 하나의 방법의 실례가 bind를 호출할 때 하나의 방법을 되돌려주고 다시 호출하는 방법이 있을 때 실례적인 방법을 호출한다. 주요한 역할은 방법 내부의this지향을 바꾸는 것이다. 밑바닥은 apply방법에 따라 실현된다. bind를 호출할 때 들어오는 매개 변수와 나중에 호출할 때 들어오는 매개 변수를 하나의 수조에 통합시켜 apply에 전달해야 한다.bind를 호출하는 실례 대상을 저장하여 apply를 호출할 때 준비합니다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Vue.js】컴포넌트의 3개의 네비게이션 가드일에서 사용하게 되었기 때문에 1부터 Vue.js에 대해 배웠다. 그 이름에서 알 수 있듯이 무언가를 가드하기위한 처리로, 대체로 페이지 천이 전에 특정 처리를 실행시켜 페이지 천이시키지 않게 한다. Vue.js의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.