jsオブジェクトの作成

オブジェクトを作成します。

  • リテラルの方法:
var myHonda = {color: "red", wheels: 4, engine: {cylinders: 4, size: 2.2}}

あるnew Object()糖衣構文は同じように、。

  • 工場出荷時のパターン:
function createCar(){    
  var oTemp = new Object();    
  oTemp.name = arguments[0];
  //直接给对象添加属性,每个对象都有直接的属性    
  oTemp.age = arguments[1];    
  oTemp.showName = function () {        
    alert(this.name);    
  };//每个对象都有一个 showName 方法版本    
  return oTemp;
};
var myHonda = createCar('honda', 5)

ちょうどするnew Object()量産に簡単に皮膚の層を、パック、および暫定的にオブジェクトを作成する方法とみなさ本質的な違いは、ありません。

  • コンストラクタ:
function Person(name, age, sex) {
  this.name = name;
  this.age = age;
  this.sex = sex;
  this.getName = function() {
    return this.name;
  };
}
var rand = new Person("Rand McKinnon", 33, "M");

上記方法のgetNameコンストラクタは、関数の各インスタンスもないクロージャを有する本発明の場合、卵内に形成された新しいオブジェクトを作成し、それは次のように処理されたコンストラクタを添加する方法、場合ファクトリーモード被験体に添加する方法であります以下の方法は、複製オブジェクトのコンストラクタを避けるためにすべきです

function Person(name, age, sex) {
  this.name = name;
  this.age = age;
  this.sex = sex;
  this.getName = getName
}
function getName() {
  return this.name;
};

新しいオブジェクトをコンストラクタで、オブジェクトコンストラクタとファクトリパターンがちょうど同じ、同等の非表示について新しいオブジェクトを作成し、この2つのステップのオブジェクトを返すされ、このポイントを作成するプロセスも例外ではありません。
最大の違い:コンストラクタ作成されたオブジェクトのconstructorプロパティポイントコンストラクタ、工場モデルのポイントに  function Object(){...}
コンストラクタのプロトタイプは、プラスチェーンリングに相当し、自身のコンストラクタとプロトタイプは、工場出荷時のパターンは、一般的な機能です。ここで私は、新しいの最初の文にポイントが何であるかを見て工場モデルのコンストラクタを抜け穴の単語を取得します。

 

https://www.cnblogs.com/lihuanqing/p/7561480.html

おすすめ

転載: www.cnblogs.com/feng9exe/p/11023486.html