javascript设计模式--工厂方法模式
2016-04-19 10:51
477 查看
工厂方法模式
将实际创建对象工作推迟到子类当中。1.安全模式类,用new和不用new都能够得到预期的对象。
var Demo = function(){} Demo.prototype = { show : function(){ console.log('成功获取'); } } var d = new Demo(); d.show();//成功获取 var d = Demo(); d.show();//uncaught typeerror:cannot read peoperty show of undefined
解决办法:在构造函数开始时先判断当前对象this指代是不是类(demo),如果是则通过new关键子创建对象,
var Demo = function(){ if(!(this instanceof Demo)){ return new Demo; } } var d = Demo(); d.show();
2.安全的工厂方法
var Factory = function(type,content){ if(this instanceof Factory){ var s = new this[type](content); return s; } else{ return new Factory(type,content); } } //工厂原型中设置创建所有类型数据对象的基类 Factory.prototype = { Java:function(content){ ... } javascript:function(content){ ... } }
相关文章推荐
- js 作用域
- 学习笔记:Stage.js(又叫Cut.js)——2D canvas 开发库,游戏方面的
- Framework3.5 加载 System.Runtime.Serialization.Json
- JNI:illegal class name(jstring char*类型转换时
- javascript计时器
- JavaScript中创建对象的模式汇总
- Js判断对象是否为空,Js判断字符串是否为空
- C#解析json文件的方法
- js 正则表达式
- JavaScript 设计模式 笔记
- js获取url地址参数
- js文件被浏览器缓存控制
- JSP转译成Servlet详细过程
- jstl中c标签if-else
- javascript练习题(四)
- 兼容低版本浏览器的对象转字符串
- 异步编程之Javascript Promises 规范介绍
- 异步编程之Javascript Promises 规范介绍
- dwr自动生成的js文件到底在哪里?
- js手机号码校验,邮箱校验