zoukankan      html  css  js  c++  java
  • 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>

  • 相关阅读:
    ESP8266 STA TCP 客户端配置并连接通信
    Modbus CRC16 校验计算函数
    自写简易版从机Modbus
    STM32CubeIDE查看内存使用情况
    WPF 样式Style
    WPF选项卡页面分离之Page调用Window类
    WPF 多个选项卡TabControl 页面分离
    STM32Cube IDE 汉字字体变小解决办法
    浮点数double相等性比较
    Ling应用
  • 原文地址:https://www.cnblogs.com/koleyang/p/4936621.html
Copyright © 2011-2022 走看看