ファクトリメソッドやコンストラクタを使用してオブジェクトを作成します。

この方法によって作成されたオブジェクトの大量:ファクトリメソッドを使用してオブジェクトを作成1.。

function createPerson(name) {
	// 创建一个新对象
	var obj = new Object();
	// 向对象中添加属性
	obj.name = name
	obj.sayname = function() {
		alert(this.name);
	}
	// 返回新对象
	return obj;
}

var obj2 = createPerson("孙悟空");
console.log(obj2);

制限事項:使用オブジェクトファクトリメソッドは、コンストラクタを使用して作成されたオブジェクトの様々な異なるタイプの間で区別することが、我々はしているができない、オブジェクトなので、あなたが作成したオブジェクトは、このタイプのオブジェクトです。

2.コンストラクタは、特にPersonオブジェクトを作成しました。

  1. コンストラクタは、通常の関数であるモードを作成し、通常の機能も例外ではありません。違いは、コンストラクタの最初の文字は、習慣を大文字ということです。
  2. 地域と一般的なコンストラクタ関数は異なる方法で呼び出されます。正常な機能が直接呼び出され、コンストラクタ呼び出しは、新しいキーワードを使用する必要があります。
  3. コンストラクタの実行プロセス:
    (1)すぐに新しいオブジェクトを作成します。
    (2)この関数では、このの関数としての新しいオブジェクトは、新しいオブジェクトを参照するために使用することができます。
    ラインの機能コード(3)ライン。
    (4)新しいオブジェクトが戻り値として返します。
function Person(name) {
	this.name = name
	this.sayName = function() {
		alert(this.name)
	}
}
function Dog(name) {
	
}
var per = new Person(name);
var dog= new Dog();
console.log(per)  
console.log(dog)

上記のコードを実行した後人、犬を入力

  1. コンストラクタで作成した使用オブジェクトは、我々はまた、クラスのコンストラクタとして知られているオブジェクトのクラスを、と呼ばれます。私たちは、そのクラスのインスタンスと呼ばれるオブジェクトのコンストラクタを作成します。Personクラス、Dogクラス。
  2. オブジェクトがクラスのインスタンスであるかどうかを確認することができinstanceofを使用してください。構文:それは本当である場合のinstanceof Objectコンストラクタは、それ以外の場合はfalseです。
console.log(per instanceof Person) // true
  1. すべてのオブジェクトは、オブジェクトの子孫であるので、任意のオブジェクトとオブジェクトとinstanceofチェックリターンは真です。
console.log(per instanceof Object) // true

この:
あなたがの形で関数を呼び出すと、これはウィンドウです。
場合は、このメソッドを呼び出すメソッド呼び出しの形式は、誰です。
場合は、コンストラクタ呼び出しの形で、これは、新しく作成されたオブジェクトです。

公開された27元の記事 ウォンの賞賛4 ビュー2825

おすすめ

転載: blog.csdn.net/qq_39083496/article/details/102768550