[原]JavaScript學習筆記(七.創建對象)

1.工廠模式創建對象--無參構造方法

 

//	工廠方式有一個弊端,就是每個對象被實例化時,都會實例化類中的方法
//	會造成每個對象都有獨立的方法版本
	function createStudentFactory()
	{
		var stu = new Object();
		stu.Id = "1";
		stu.Name = "stu";
		stu.Skill = "Ajax & javaScript";
		stu.showSkill = function()
		{
			alert(stu.Skill);	
		}
		return stu;
	}
	
	//不支持方法的重載喲!
	//function createStudentFactory(id,name,skill)
	//{
	//}
	
	var stu = createStudentFactory();
	stu.showSkill();

 

2.工廠模式2--帶參構造方法

function createStudentFactory(id,name,skill)
{
	var stu = new Object();
	stu.Id = id;
	stu.Name = name;
	stu.Skill = skill;
	stu.showSkill = function()
	{
		alert(stu.Skill);
	}
	return stu;
}
	var stu2 = createStudentFactory("2","zxh","java");
	stu2.showSkill();
 

3.混合方式--屬性私有,方法共有

	function Student(id,name,skill)
	{
		this.Id = id;
		this.Name = name;
		this.Skill = skill;
		this.Likes = new Array("coding","game");
	}
	
	Student.prototype.showSkill = function()
	{
		alert(this.Skill);
	}
	
	var stu1 = new Student(1,"zxh","Ajax");
	var stu2 = new Student(2,"zxh2","Java");
	stu2.Likes.push("travel");
	
	stu1.showSkill();
	stu2.showSkill();
	alert(stu1.Likes);
	alert(stu2.Likes);	
 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章