js原生设计模式——3简单工厂模式\简单工厂模式封装简单对象
1、Factory基本写法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>简单工厂模式之一个对象有时候可以代替许多类</title>
<script type="text/javascript">
//简单工厂模式之一个对象有时候可以代替许多类
//工厂模式
function createBook(name,time,type){
//封装一个对象,并对该对象拓展其属性和方法
var o = new Object();
//var o = {};
o.name = name;
o.time = time;
o.type = type;
o.getName = function(){
console.log(this.name);//this指向当前对象o
}
return o;//将对象o返回出去
}
//测试用例
var jsbook = createBook('js book',2015,'js');
var cssbook = createBook('css book',2014,'css');
jsbook.getName();
cssbook.getName();
//本例已经通过验证
</script>
</head>
<body>
</body>
</html>
2、Factory差异性写法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>简单工厂模式之差异化写法——三种弹窗效果封装</title>
<script type="text/javascript">
//简单工厂模式之差异化写法——三种弹窗效果封装
//工厂模式
function createPop(type,text){
//封装一个对象,并对该对象拓展其属性和方法
var o = {};
o.text = text;
o.show = function(){
console.log(this.text);//this指向当前对象o
//show显示方法代码
}
if(type == 'alert'){
alert(o.text);
}else if(type == 'prompt'){
prompt('提示',o.text);
}else if(type == 'confirm'){
confirm(o.text);
}
return o;//将对象o返回出去
}
//测试用例
var userNameTip = createPop('confirm','用户名只能是12位以内字母下划线和数字组成');//创建即弹出
userNameTip.show();
//本例已经通过验证
</script>
</head>
<body>
</body>
</html>
js原生设计模式——3简单工厂模式\简单工厂模式封装简单对象的更多相关文章
- js原生设计模式——3简单工厂模式\js面向对象编程实例
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- js原生设计模式——4安全的工厂方法模式之Factory方法模式
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- js原生设计模式——4安全的工厂方法模式之oop编程增强版
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- js原生设计模式——13桥接模式(相同业务逻辑抽象化处理的职责链模式)
桥接模式之多元化类之间的实例化调用实例 <!DOCTYPE html><html lang="en"><head> <meta ch ...
- js原生设计模式——12装饰者模式
1.面向对象模式装饰者 <!DOCTYPE html><html lang="en"><head> <meta charset=&q ...
- js原生设计模式——9外观模式封装
1.事件处理程序兼容性封装 <!DOCTYPE html><html lang="en"><head> <meta charset= ...
- js原生设计模式——7原型模式之真正的原型模式——对象复制封装
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- js原生设计模式——9外观模式封装2(小型代码库YJ)
<script type="text/javascript"> //小型代码库YJ封装 var YJ = { //根据id获取元素 ...
- js原生设计模式——7原型模式之new+call(this)组合应用再探讨实例
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
随机推荐
- tabBar自定义
有时系统的tabBar并不能满足我们的开发需求: 这时,我们需要自定义一个tabBar.直接上代码: // 在tabBarController中用KVC更换掉系统tabBar [self setVal ...
- CentOS6.5 添加epel源
0.安装yum优先级插件 yum install yum-priorities 1.epel简介: https://fedoraproject.org/wiki/EPEL/zh-cn rpm -Uvh ...
- mysql 字符集配置
查看和设置MySQL数据库字符集作者:scorpio 2008-01-21 10:05:17 标签: 杂谈 Liunx下修改MySQL字符集:1.查找MySQL的cnf文件的位置find / -ina ...
- 最后的配置部分:LNMP+Tomcat
Nginx与PHP部分 mkdir /www/php -p echo -e "<?php\n\tphpinfo();\n?>" > /www/php/index. ...
- [iOS]C语言技术视频-15-指针变量高级用法练习一(函数指针完成动态排序)
下载地址: 链接: http://pan.baidu.com/s/1o6MOzX4 密码: xzxn
- django第一篇
摘要: 1 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型M,视图V和控制器C.模型即后端逻辑,视图就是url对应的前端展示 2本文简介了使用模型 ...
- Eclipse 配置工程
Eclipse改UTF-8 Window->Preferences->General->Workspace->Text file Encoding Eclipse配置tomca ...
- Trim(',')的作用去除最有一个','
public bool XMLDataImport() { List<string> sqllist = new List<string>(); ...
- 如何高效的用判断用js判断ie6
用js判断ie6的方法有很多,如: 1. var isIE=!!window.ActiveXObject; var isIE6=isIE&&!window.XMLHttpRequest ...
- 一、什么是hadoop?
一.什么是hadoop 1. 背景 Hadoop为分布式文件系统和计算的基础框架系统,其中包含hadoop程序,hdfs系统等. 2. 名词解释 1.Hadoop, Apache开源的分布式框架. ...