文档章节

工厂模式

林落雨
 林落雨
发布于 2017/04/25 17:59
字数 135
阅读 4
收藏 0
// 父构造函数
function CarMaker(){}

// 父构造函数的原型方法
CarMaker.prototype.drive = function(){
	return this.doors;
}


// 静态工厂方法
/**
 * @param  type 具体的汽车制造商
 */
CarMaker.factory = function(type){
	var constr = type,
		newcar;

	// 如果构造函数不存在则发生错误
	if(typeof CarMaker[constr] !== "function"){
		throw{
			name:"Error",
			message:constr
		}
	}

	// 原型继承父类,但仅继承一次
	if(typeof CarMaker[constr].prototype.drive != "function"){
		CarMaker[constr].prototype = new CarMaker();
	}

	// 创建一个新实例
	newcar = new CarMaker[constr]();

	return newcar;
}

// 定义特定的汽车制造商
CarMaker.Compact = function(){
	this.doors = 4;
}

CarMaker.SUV = function(){
	this.doors = 24;
}

 

© 著作权归作者所有

共有 人打赏支持
上一篇: 迭代器模式
下一篇: 单例模式
林落雨
粉丝 0
博文 13
码字总数 2308
作品 0
杭州
私信 提问

暂无文章

HTTP状态码对照表(HTTP response codes)

由于博主工作最近在做大数据日志分析的时候,用到了很多http状态码相关的知识。博主基本只记得其中200和404两个,所以,在此做个笔录。 当浏览者访问一个网页时,浏览者的浏览器会向网页所在...

em_aaron
15分钟前
1
0
java 反射

基本概念 RTTI,即Run-Time Type Identification,运行时类型识别。RTTI能在运行时就能够自动识别每个编译时已知的类型。   要想理解反射的原理,首先要了解什么是类型信息。Java让我们在运...

细节探索者
26分钟前
1
0
推荐转载连接

https://www.cnblogs.com/ysocean/p/7409779.html#_label0

小橙子的曼曼
52分钟前
3
0
雷军亲自打造的套餐了解下:用多少付多少

12月28日消息,小米科技创始人兼CEO雷军微博表示,小米移动任我行套餐方案,原则上就是明明白白消费,用多少付多少,不用不花钱!上网、电话和短信都是一毛钱,上网0.1元/M,电话0.1元/分钟,...

linuxCool
今天
0
0
协议简史:如何学习网络协议?

大学时,学到网络协议的7层模型时,老师教了大家一个顺口溜:物数网传会表应。并说这是重点,年年必考,5分的题目摆在这里,你们爱背不背。 考试的时候,果然遇到这个问题,搜索枯肠,只能想...

Java干货分享
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部