javascript面向对象基础 工厂与原型

本文通过代码实例详细对比了JS中工厂方式生成对象与原型方式的区别,旨在帮助开发者深入了解JS的基础知识。

目前还正在学系面向对象的JS,越学习越发现JS真的是强大,以后要专心研究JS了。

下面直接用代码例子来看看JS中工厂方式生成对象与原型的区别:

<script>
//工厂方式
function showObj(name, age){
	var obj = new Object();
	
	obj.name=name;
	obj.age=age;
	
	obj.showName=function(){
		alert(this.name);
	}

	obj.showAge=function(){
		alert(this.age);
	}
	
	return obj;
}

var obj1 = showObj("test1",22);
obj1.showName();
var obj2 = showObj("test2",22);
obj2.showName();

//用new的形式创建对象
function ShowObject(name, age){

	//JS内部会隐式的执行 var this = new Object();
	
	this.name=name;
	this.age=age;
	
	this.showName=function(){
		alert(this.name);
	}

	this.showAge=function(){
		alert(this.age);
	}
	
	//隐式返回 return this;
}

var obj3 = new ShowObject("test3",33);
obj3.showName();
var obj4 = new ShowObject("test4",44);
obj4.showName();

//混合方式,用原型来实现 prototype
function ShowObjectPro(name, age){	
	this.name=name;
	this.age=age;
}
ShowObjectPro.prototype.showName=function(){
	alert(this.name);
}

ShowObjectPro.prototype.showAge=function(){
	alert(this.age);
}

var obj5 = new ShowObjectPro("test5",55);
obj5.showName();
var obj6 = new ShowObjectPro("test6",66);
obj6.showName();	
	
</script>
这些也还是JS中最基础的,以后学习的路还很长,好好学习,天天向上!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值