javascript 创建对象

本文总结了JavaScript中创建对象的五种方式:工厂方法、构造函数、原型、构造函数+原型、动态原型,详细解释了每种方式的实现原理和应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

看了w3school的关于定于对象这个部分的内容。感觉写的很好。

自己写些东西做下小结:

<script>
	<!--
	//工厂方式
	var playerMsg = function(){
		alert("Name:"+this.name+"  Nation:"+this.nation+"  Club:"+this.club);
	}
	var playerFactory = function(name,nation,club){
		var player = new Object();
		player.name = name;
		player.nation = nation;
		player.club = club;
		player.playerMsg = playerMsg;
		return player;
	}
	var player1 = playerFactory("Kuyt","Netherlands","Liverpool");
	player1.playerMsg();
	//构造函数方式
	var Player = function(name,nation,club){
		this.name = name;
		this.nation = nation;
		this.club = club;
		this.playerMsg = playerMsg;
	}
	var player2 = new Player("Suarez","Uruguay","Liverpool");
	player2.playerMsg();
	//原型方式
	var ProPlayer = function(){};
	ProPlayer.prototype.name = "Lucas";
	ProPlayer.prototype.nation = "Brazil";
	ProPlayer.prototype.club = "Liverpool";
	ProPlayer.prototype.playerMsg = playerMsg;
	var player3 = new ProPlayer();
	player3.playerMsg();
	//构造方式+原型方式
	var PlayerConstructor = function(name,nation,club){
		this.name = name;
		this.nation = nation;
		this.club = club;
	}
	PlayerConstructor.prototype.playerMsg = playerMsg;
	var player4 = new PlayerConstructor("Adam","Scotland","Liverpool");
	player4.playerMsg();
	//动态原型方式
	var PlayerDynamic = function(name,nation,club){
		this.name = name;
		this.nation = nation;
		this.club = club;
		if(typeof PlayerDynamic_initialized == "undefined"){
			PlayerDynamic.prototype.playerMsg = playerMsg;
			PlayerDynamic._initialized = true;
		}
	}
	var player5 = new PlayerDynamic("Gerrard","England","Liverpool");
	player5.playerMsg();
	-->
</script>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值