• 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>

  • 相关阅读:
    maven
    Entity Framework Async Query and Save (EF6 onwards)
    Entity Framework Power Tools
    Entity Framework Logging and Intercepting Database Operations (EF6 Onwards)
    jexus配置运行core
    linux安装nginx
    core改默认端口
    linux命令安装core
    linux下esc退不出vi
    linux命令
  • 原文地址:https://www.cnblogs.com/koleyang/p/4936621.html
Copyright © 2020-2023  润新知