ホームページ > バックエンド開発 > PHPチュートリアル > javascript - JS プロトタイプの配列を継承する新しいオブジェクトについて質問しますか?

javascript - JS プロトタイプの配列を継承する新しいオブジェクトについて質問しますか?

WBOY
リリース: 2016-08-27 09:06:53
オリジナル
988 人が閲覧しました

リーリー

obj1 の配列に要素が追加されると、その要素は obj2 の配列にも追加されます。
その配列はポインターですか?プロトタイプ オブジェクトに配列はありますか?

リーリー

皆さんありがとうございます..

返信内容:

リーリー

obj1 の配列に要素が追加されると、その要素は obj2 の配列にも追加されます。
その配列はポインターですか?プロトタイプ オブジェクトに配列はありますか?

リーリー

皆さんありがとうございます..

まず、継承がどのように実装されるかを理解する必要があります。 。

1. コンストラクターには prototype 属性があります。 prototype属性。
2、构造函数的每个实例都有一个__proto__指向其构造函数的prototype属性。
3、当访问某对象自身不存在的属性,会通过__proto__去其构造函数的prototype上寻找。
4、所以调用obj1.array 访问的是 Person.prototype.array;调用obj2.array 访问的也是 Person.prototype.array
5、obj1obj2都共用着这一个array
6、所以跟按值传递还是引用传递无关。本来各个实例都访问的是一个prototype2. コンストラクターの各インスタンスには、そのコンストラクターを指す __proto__ プロトタイプ属性があります。
3. オブジェクト自体に存在しない属性にアクセスする場合、__proto__ を通じてそのコンストラクターのプロトタイプで検索されます。 4. したがって、obj1.array を呼び出すと person.prototype.array にアクセスし、obj2.array を呼び出すと prototype.array にもアクセスします。 コード>。 5. obj1obj2 は両方ともこの array を共有します。

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