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简单工厂模式\简单工厂模式封装简单对象的更多相关文章

  1. js原生设计模式——3简单工厂模式\js面向对象编程实例

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  2. js原生设计模式——4安全的工厂方法模式之Factory方法模式

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  3. js原生设计模式——4安全的工厂方法模式之oop编程增强版

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  4. js原生设计模式——13桥接模式(相同业务逻辑抽象化处理的职责链模式)

    桥接模式之多元化类之间的实例化调用实例 <!DOCTYPE html><html lang="en"><head>    <meta ch ...

  5. js原生设计模式——12装饰者模式

    1.面向对象模式装饰者 <!DOCTYPE html><html lang="en"><head>    <meta charset=&q ...

  6. js原生设计模式——9外观模式封装

    1.事件处理程序兼容性封装 <!DOCTYPE html><html lang="en"><head>    <meta charset= ...

  7. js原生设计模式——7原型模式之真正的原型模式——对象复制封装

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  8. js原生设计模式——9外观模式封装2(小型代码库YJ)

    <script type="text/javascript">    //小型代码库YJ封装    var YJ = {        //根据id获取元素       ...

  9. js原生设计模式——7原型模式之new+call(this)组合应用再探讨实例

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

随机推荐

  1. [转]HTTPS连接的前几毫秒发生了什么

    本文由 伯乐在线 - 水果泡腾片 翻译.未经许可,禁止转载!英文出处:JEFF MOSER.欢迎加入翻译小组. 提示:英文原文写于2009年,当时的Firefox和最新版的Firefox,界面也有很大 ...

  2. 利用ZjDroid对 <捕鱼达人3> 脱壳及破解过程-转

    http://blog.sina.com.cn/zihao2015 <捕鱼达人3> 刚出来不久,就被鬼哥Dump出来dex,随之破解也就轻而易举.一开始我用ZjDroid神器试验过,但是没 ...

  3. GetEnvironmentVariable 获取常用系统变量(转)

    源:GetEnvironmentVariable 获取常用系统变量 //譬如 WINDIR 表示系统目录系统变量, 以这样获: var s:string; begin s:=GetEnvironmen ...

  4. 如何删除要素类 IFeatureWorkspace 接口介绍(1)

    如何删除要素类 要想删除一个要素类,那么必须先得到这个,在得到这个要素类的时候,我们要学习一个新的接口IFeatureWorkspace. IFeatureWorkspace  接口介绍 这个接口主要 ...

  5. 什么是j2ee ??EJB与j2ee的关系?? 请看百度百科

    首先,EJB是j2ee的一部分. http://baike.baidu.com/link?url=SGmNOVWoaZ62WCjb7a_yzz-GBGsDT3jyFM1hsvv8ycAwusdmo_D ...

  6. Javascript Jquery 中的数组定义与操作_子木玲_新浪博客

    body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...

  7. 哈夫曼树压缩C#算法(huffman)

    算法原理:http://www.cnblogs.com/skywang12345/p/3706833.html. 上代码: using System; using System.Collections ...

  8. Java的JDBC事务详解

    Java的JDBC事务详解         分类:             Hibernate              2010-06-02 10:04     12298人阅读     评论(9) ...

  9. [DNS]ACL、also-notify、视图服务器及安全设置

    1. ACL :访问控制列表放在named.conf的头部,如果acl的内容太多,可以另创建一个文件,将acl放在该文件中,再在主配置文件named.conf用include 将文件加载进来(记得放在 ...

  10. mysql面试

    第一方面:30种mysql优化sql语句查询的方法 避免全表扫描: 1.where 及 order by 上建立索引.2.避免在 where 子句中使用!=或<>操作符3. select ...