javascript - js 확장 프로토타입 메소드의 포인팅 문제
漂亮男人
漂亮男人 2017-05-19 10:36:17
0
1
745

JavaScript Ninja Secrets 책에는 프로토타입 라이브러리와 함수 바인딩 코드의 예가 있습니다.

으아악

기능을 확인하기 위해 중단점을 사용합니다bind里面的fn指向myFunction这个函数 这个我不太理解 我的理解是只要用Function.prototype 这个原型扩展的方法 此方法里面开始声明的变量var fn=this;fn的指向就指向使用这个方法的函数 就像本例中的myFunction.bind(myObject);调用bin方法,fn指向myFunction이 기능을 이해하는 것이 올바른지 모르겠습니다

漂亮男人
漂亮男人

모든 응답(1)
迷茫

사실 질문을 잘 이해하지 못해서 아이디어를 가지고 코드를 살펴보겠습니다

myFunction.bind(myObject)는 프로토타입의 바인드 함수에 들어갑니다

  1. myFunction을 fn에 할당하고, 매개변수를 배열 인수로 변환하고, 첫 번째 매개변수를 삭제하고 객체에 할당합니다.

  2. 함수를 반환한 다음 클로저에 대해 생각해 보면 이해하게 될 것입니다. 이 함수로 수행되는 작업은 간단히 myFunction.apply(myObject,[...여기에 다른 매개변수가 있습니다])

  3. 로 이해될 수 있습니다.

a함수()

myFunction.apply(myObject,[...여기에는 매개변수가 없습니다])
그 다음 myFunction 내부로 들어갑니다. Apply 간의 관계로 인해 이것이 myObject이고 작업은 myObject==myObject
Return입니다. 진짜

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!