jsプロトタイプってどういう意味ですか?

藏色散人
リリース: 2020-09-16 17:46:05
オリジナル
15162 人が閲覧しました

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート