ホームページ > 記事 > ウェブフロントエンド > JavaScript オブジェクトの 3 つのプロパティは何ですか?
今回は、JavaScript オブジェクトの 3 つの属性 と、JavaScript オブジェクトの 3 つの属性の 注意事項 について説明します。以下は実際的なケースです。見てみましょう。
各オブジェクトには、プロトタイプ、クラス、およびそれに関連付けられた拡張可能な属性があります。
プロトタイプ属性
オブジェクトのプロトタイプ属性は、インスタンス オブジェクトの作成の開始時に設定され、プロトタイプとして Object.prototype を使用します。作成された新しいオブジェクトは、コンストラクターのプロトタイプ プロパティをプロトタイプとして使用します。Object.create() によって作成されたオブジェクトは、最初の引数 (null の場合もあります) をプロトタイプとして使用します。
* 检测一个对象是否是另一个对象的原型(或处于原型链中),使用isPrototypeOf()方法 var p = { x: 1 }; var o = Object.create(p); p.isPrototypeOf(o); // true Object.prototype.isPrototypeOf(o); // trueClass プロパティ。プロパティは、オブジェクトの型情報を表す文字列です。オブジェクトのクラスを取得するには、オブジェクトの toString() メソッドを呼び出し、返された文字列の 8 番目と最後から 2 番目の位置の間の文字列を抽出します。ただし、多くの
オブジェクト継承
の toString() メソッドは書き直されており、正しい toString() バージョンを呼び出すには、Function.call() メソッドを間接的に呼び出す必要があります。 例:
function classof(o) { if(o === null) return "Null"; if(o === undefined) return "Undefined"; return Object.prototype.toString.call(o).slice(8,-1); }
オブジェクトの拡張性は、新しい属性をオブジェクトに追加できるかどうかを示します。すべての組み込みオブジェクトとカスタム オブジェクトは、ホスト オブジェクトの拡張性ルームメイトである JavaScript エンジンによって定義されているように、明示的に拡張可能です。 ECMAScript 5 では、すべての組み込みオブジェクトとカスタム オブジェクトは、拡張不可能に変換されない限り拡張可能です。同様に、ホスト オブジェクトの拡張性は、ECMAScript 5 を実装する JavaScript エンジンによって定義されます。
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。
推奨読書:
AngularJS 依存関係注入のいくつかの方法 $watch、$apply、$digest データ バインディング プロセスの詳細な説明 動的メニューまたはドロップダウン リストを作成するための JavaScript コードjsの組み込みオブジェクトとは何ですか以上がJavaScript オブジェクトの 3 つのプロパティは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。