프로토타입은 JavaScript에서 이해하기 어려운 개념입니다. 객체에는 "prototype" 속성이 있고, 함수 객체에는 "prototype" 속성이 있으며, 프로토타입 객체에는 "constructor" 속성이 있습니다.
프로토타입에 대한 첫 소개
JavaScript에서 프로토타입도 객체입니다. JavaScript 객체는 모두 "[[Prototype]]" 내부 속성을 포함합니다. 그것은 객체의 프로토타입이다.
"[[프로토타입]]"은 개체의 내부 속성이므로 직접 액세스할 수 없습니다. 따라서 객체의 프로토타입을 편리하게 보기 위해 Firefox와 Chrome에서는 비표준(모든 브라우저에서 지원되지는 않음) __proto__ 접근자를 제공합니다(ECMA에서는 표준 객체 프로토타입 접근자 "Object.getPrototype(object)"를 도입했습니다).
JavaScript에서 프로토타입 객체에는 프로토타입을 가리키는 모든 인스턴스를 생성하는 생성자에 해당하는 "constructor" 속성도 포함되어 있습니다.
JavaScript에서 각 함수에는 프로토타입 속성이 있습니다. 인스턴스를 생성하는 데 사용되면 이 함수의 프로토타입 속성 값이 모든 객체 인스턴스에 프로토타입으로 할당됩니다(즉, 인스턴스의 `__proto__` 속성이 설정됩니다). 즉, 모든 인스턴스의 프로토타입이 참조됩니다. 함수의 프로토타입 속성에 . (****`오직 함수 객체에만 이 속성이 있습니다!`****)
new 프로세스는
var p = new Person('张三',20);
1의 세 단계로 나뉩니다. var p={};
2. p._proto_=Person.prototype;, 객체 p의 __proto__ 속성을 Person.prototype
3으로 설정합니다. Person.call(p,"Zhang San",20); 생성자 Person을 호출하여 p를 초기화합니다. .
위 내용은 js 프로토타입은 무엇을 의미하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!