JavaScript의 new 연산자 원리에 대한 자세한 설명(그래픽 튜토리얼)

亚连
풀어 주다: 2018-05-21 10:39:19
원래의
1732명이 탐색했습니다.

이제 JavaScript의 new 연산자의 원리에 대해 간략하게 설명하겠습니다. 이제 그것을 여러분과 공유하고 모든 사람에게 참고 자료로 제공하겠습니다.

JavaScript의 new는 C++, Java, C#과 같은 객체지향 언어를 공부한 사람들에게는 JS 구현에서 클래스와 객체 사이에 차이가 있다고 생각합니다. 클래스가 없으면 모든 것이 객체입니다. , Java보다 더 철저합니다.

new의 프로세스는 실제로 새 객체를 생성하고 새 객체의 프로토타입을 생성자 함수의 프로토타입으로 설정하는 것입니다. 총 3개의 객체가 협업 및 구축에 참여합니다. 변환기 기능이 첫 번째 객체이고 프로토타입 객체가 2개이며 새로 생성된 빈 객체가 세 번째 객체이며 최종적으로 빈 객체가 반환되지만 이 빈 객체는 진공이 아닙니다. , 그러나 이미 프로토타입( __proto__)에 대한 참조가 포함되어 있습니다

단계는 다음과 같습니다.

(1) 빈 객체 obj

(2)를 만듭니다. __proto__(IE에는 이 속성이 없습니다) 빈 객체의 멤버는 생성자의 프로토타입 멤버 객체를 가리킵니다

( 3) Apply를 사용하여 생성자 함수를 호출하면 이는 빈 객체 obj에 바인딩됩니다.

(4) 빈 객체 obj를 반환합니다.

new를 사용하는 대신 자신만의 함수를 작성할 수 있습니다. 샘플 코드는 다음과 같습니다.

function NEW_OBJECT(Foo){

var obj={};
obj.__proto__=Foo.prototype;
obj.__proto__.constructor=Foo;
Foo.apply(obj,arguments)
return obj;

}
로그인 후 복사

위는 제가 모두를 위해 컴파일한 것입니다. 앞으로 도움이 되길 바랍니다. 모두가 도움이 됩니다.

관련 기사:

React가 re-rendering_javascript 팁을 방지하는 방법

코드 상세 설명 JavaScript가 빠른 정렬을 구현하는 방법

React가 re-rendering_javascript 팁을 방지하는 방법

위 내용은 JavaScript의 new 연산자 원리에 대한 자세한 설명(그래픽 튜토리얼)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿