ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript オブジェクトの 3 つのプロパティは何ですか?

JavaScript オブジェクトの 3 つのプロパティは何ですか?

php中世界最好的语言
php中世界最好的语言オリジナル
2018-03-16 17:22:162125ブラウズ

今回は、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);  // true

Class プロパティ

。プロパティは、オブジェクトの型情報を表す文字列です。オブジェクトのクラスを取得するには、オブジェクトの 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。