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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值