ホームページ > 記事 > ウェブフロントエンド > jsプロトタイプってどういう意味ですか?
プロトタイプは、JavaScript で理解するのが難しい概念です。プロトタイプに関連する属性は多数あります。オブジェクトには「プロトタイプ」属性があり、関数オブジェクトには「プロトタイプ」属性があり、プロトタイプ オブジェクトには「コンストラクター」プロパティ。
プロトタイプの最初の紹介
JavaScript では、プロトタイプもオブジェクトです。オブジェクトのプロパティの継承は、プロトタイプを通じて実現できます。JavaScript オブジェクトにはすべて、 「[[ Prototype]]」内部属性。この属性はオブジェクトのプロトタイプに対応します。
オブジェクトの内部プロパティである「[[Prototype]]」には直接アクセスできません。したがって、オブジェクトのプロトタイプを便利に表示するために、Firefox と Chrome は非標準 (すべてのブラウザーでサポートされていない) __proto__ アクセサー (ECMA は標準オブジェクト プロトタイプ アクセサー "Object.getPrototype(object)" を導入しました) を提供します。
JavaScript では、プロトタイプ オブジェクトには「コンストラクター」属性も含まれています。これは、プロトタイプを指すすべてのインスタンスを作成するコンストラクターに対応します。
JavaScript では、各関数にプロトタイプ属性があります。関数がインスタンスを作成するコンストラクターとして使用される場合、この関数のプロトタイプ属性値がプロトタイプとしてすべてのオブジェクト インスタンスに割り当てられます (つまり、インスタンスの `__proto__` 属性を設定します)。すべてのインスタンスのプロトタイプは、関数のプロトタイプ属性を参照します。 (****`関数オブジェクトのみがこの属性を持ちます!`****)
new のプロセスは 3 つのステップに分かれています
var p = new Person('张三',20);
1。 var p={}; オブジェクト p を初期化します。
2. p._proto_=person.prototype;、オブジェクト p の __proto__ 属性を Person.prototype
3. person.call(p,"Zhang San" , 20);コンストラクター person を呼び出して p を初期化します。
以上がjsプロトタイプってどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。