[原]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);	
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值