ホームページ  >  記事  >  ウェブフロントエンド  >  ネイティブjsコンストラクター

ネイティブjsコンストラクター

不言
不言オリジナル
2018-04-10 14:36:161398ブラウズ

この記事で共有する内容は、特定の参照値を持つネイティブ js コンストラクターに関するものです。必要な友人はそれを参照できます。

javascript は、5 つのネイティブ データ型を含むオブジェクトベースの言語です。 number(数値型)

  • boolean(ブール型)

  • string(文字列型)

  • null(null)

  • undefine(未定義)

  • それ以外はすべてオブジェクトです、そして関数もオブジェクトです;
  • function fn(){
      //这是一个函数声明,函数是一个特殊的对象}

  • コンストラクター定義

コンストラクターは通常の関数であり、他の関数と何ら変わりません。関数 == コンストラクターとして理解できます。これは単なる概念的な定義です。 、オブジェクトをインスタンス化するために使用されます。 JavaScript の組み込みオブジェクトの場合、Object、Array、Date などはすべてコンストラクターです。

function Fn(){}var f = new Fn() //实例化对象

new 演算子を使用して返されるオブジェクトは、必ずしもインスタンス自体である必要はありません。 return を使用してコンストラクターの戻り値を変更することもできます。

function Obj() {
  this.a = 1;  return { a: 2 };
}var o = new Obj(); // o并不是Obj的实例console.log(o.a); // 输出2

前述したように、JavaScript では関数もオブジェクトです。オブジェクトでは、すべての関数 オブジェクトは、Object、Array などの Function コンストラクターのすべてのインスタンスです。

instanceof 演算子を使用してチェックします

instanceof 演算子は、指定されたオブジェクトがオブジェクトのインスタンスであるかどうかを返します。形式は次のとおりです: B のインスタンス。このうち、左のオペランドはオブジェクト、右のオペランドはクラス(コンストラクター)である必要があります。

  • 判定処理: オブジェクトAのプロトタイプチェーンに関数Bが見つかった場合、instanceof演算子はtrueを返します。 , それ以外の場合は false を返します。 JavaScript String 型)

  • null (空)

unknown (未定義)

さらに、それ以外はすべてオブジェクトであり、関数もオブジェクトです;

  • alert(Function instanceof Function); // Function函数对象 本身就是自己的一个实例alert(Object instanceof Function); // Object函数对象 是 Function构造函数的一个实例alert(arr instanceof Array);

  • コンストラクター定義
  • コンストラクターは通常の関数であり、 function == コンストラクターとして理解できます。これは、オブジェクトをインスタンス化するために使用されます。
  • JavaScript の組み込みオブジェクトの場合、Object、Array、Date などはすべてコンストラクターです。

    function fn(){
      //这是一个函数声明,函数是一个特殊的对象}

    new 演算子を使用して返されるオブジェクトは、必ずしもインスタンス自体である必要はありません。 return を使用してコンストラクターの戻り値を変更することもできます。
  • function Fn(){}var f = new Fn() //实例化对象
  • 前述したように、JavaScript では関数もオブジェクトです。オブジェクトでは、すべての関数 オブジェクトは、オブジェクト、配列などの関数コンストラクターのすべてのインスタンスです。

  • instanceof 演算子を使用して確認します。

instanceof 演算子は、指定されたオブジェクトがインスタンスであるかどうかを返します。クラスの形式は次のとおりです: A インスタンス B。このうち、左のオペランドはオブジェクト、右のオペランドはクラス(コンストラクター)である必要があります。

判定処理: オブジェクトAのプロトタイプチェーンに関数Bが見つかった場合、instanceof演算子はtrueを返します。 , それ以外の場合は false を返します。

function Obj() {
  this.a = 1;  return { a: 2 };
}var o = new Obj(); // o并不是Obj的实例console.log(o.a); // 输出2

関連する推奨事項:

js コンストラクター、インデックス付き配列、プロパティの実装と使用_JavaScript スキル

以上がネイティブjsコンストラクターの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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