JS의 새로운 작업은 정확히 무엇을 하나요? 단계별로 살펴보겠습니다.
예를 들어 함수를 정의하고 새로운 작업을 수행합니다.
function Foo(){} var foo = new Foo();
뇌 보충:
모든 함수에는 프로토타입이라는 속성이 있고 유형은 객체입니다. , 참조 개체입니다.
모든 객체에는 __proto__라는 속성이 있습니다. 유형 필드는 참조 객체이기도 한 객체입니다.
우선, JavaScript 엔진이 새로운 작업을 수행하면 즉시 메모리 블록을 열고 빈 객체를 생성합니다(그리고 이것이 이 객체를 가리킵니다).
다음으로 생성자 함수 Foo()를 실행하여 빈 객체를 생성합니다(생성자의 모든 속성과 메서드가 빈 객체에 하나씩 설치되므로 생성자라고 합니다).
그러나 이 빈 객체에는 __proto__라는 속성이 추가되고, 이 __proto__는 Foo()의 프로토타입 객체를 가리킵니다. 즉, __proto__ = 프로토타입;