JS- [工場出荷時のモードプロトタイプ&コンストラクタと]

 

 

ファクトリパターン

機能(工場出荷時の機能)によってオブジェクトを作成するには

function createPerson(name,age){
	var obj={
		name:name,
		age:age,
		setName:function(name){
			this.name=name;
		}
	};
	return obj;	//return一个object
}
createPerson("sam",20);

カスタムコンストラクタ

function Person(name,age){	//构造函数首字母要大写
	this.name=name;
	this.age=age;
	this.setName=function(name){
		this.name=name;
	};
}
var person1=new Person("sam",20);

工場モデルコンストラクタの違い

  • オブジェクトは、オブジェクト・ファクトリーモード復帰ある、いかなる特定のタイプは存在しません
  • コンストラクタは、オブジェクトの特定の型を返す場合

protorypeの使用

プロパティを宣言していないステートメント

Person.prototype.phone=null;	//接上面代码,在Person没有phone的情况下用peototype声明
var person2=new Person("jack",21);
person2.phone="25698546";
alert(person2.phone);	//正常输出

動的メソッド声明

function Person(name,age){	
	this.name=name;
	this.age=age;
	this.say=function(){
		alert("miao~");
	};
}
var p1=new Person("sam",20);
p1.say();

ミャオ族は、上記の場合にのみ言う - プロトタイプを使用することができます

function Person(name,age){
	this.name=name;
	this.age=age;
	//先不写say方法
}

Person.prototype.say=null;	//声明say方法

var p1=new Person("sam",20);
p1.say=function(){	//设置p1的say方法
 alert("miao~");
};
p1.say();

var p2=new Person("gou",2);
p2.say=function(){	//设置p2的say方法
 alert("wang~");
};
p2.say();

おすすめ

転載: www.cnblogs.com/yangjiale/p/11261379.html