MDN 기준 사이트 운영자
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/new
예 예 운영자는 새로운 사용자 정의 오브젝트 유형 또는 생성자를 갖는 내장 된 객체를 생성한다. 새 키워드는 다음과 같은 작업을 수행합니다 :
1) 빈 간단한 자바 스크립트 객체를 생성 (즉, {}),
2) , 다른 목적으로 물체 (즉, 객체 생성자 세트)에 연결
이 문맥의 단계 1과 3), 새롭게 생성 된 객체;
4) 함수가 객체를 반환하지 않는 경우,이 반환됩니다.
다음과 같이 재현 코드는 다음과 같습니다
. (1) <script 타입 = "텍스트 / 자바 스크립트"> 2 함수 는 Person (이름, 나이) { 3. 이 본 .name을 = 이름] . (4) 이 본 .age = 연령] . 5 리턴 이 본 ] . 6 } . 7 Person.prototype.say = 함수 (STH ) { 8. CONSOLE.LOG ( '는 I 말 :'+ STH) . (9) } (10) . (11) 기능 _new () { 12 인 // 단순한 빈 객체 생성 13은 VAR OBJ = {} 14 // 위젯 생성자 15 VAR인수 _Constructor = [0 ] (16) // 프로토 연계 . 17 OBJ .__ 프로토 __ = _Constructor.prototype; 18이다 // 값 수득 생성자 파라미터리스트 (19). VAR _args = Array.prototype.slice.call (인수 ,. 1 ); 20 // 생성자이 값 (반환 값)에 결합 (21)은 VAR의 결과 = _Constructor.apply은 (OBJ, _args) 22 인 //는 여부를 판단 객체의 생성자는 역류 구성한다면 무시 비 생성자의 반환 값 이 값이 반환됩니다 기능의 경우 객체의 객체 생성자 리턴 (23) 반환 대해서 typeof 결과 === "개체"결과 :? OBJ; // 반환 값은 객체가 그렇지 않으면 객체 생성자의 인스턴스를 반환 개체를 반환하는 경우 (24) }; 25 VAR= newPerson에 새로운 사람 ( 'orgin는'1 ); 26 VAR _newPerson = _new (사람, '내', 2 ); 27 28 CONSOLE.LOG (newPerson에); 29 CONSOLE.LOG (_newPerson); (30) (31) var에 newPerson2 = 새로운 사람; 32 VAR _newPerson2 = _new (사람); 33 CONSOLE.LOG (newPerson2); 34 CONSOLE.LOG (_newPerson2); 35 </ script>