常见设计模式

2016-12-31  本文已影响0人  GarenWang

问答

1.写出构造函数模式、混合模式、模块模式、工厂模式、单例模式、发布订阅模式的范例。

2.使用发布订阅模式写一个事件管理器,可以实现如下方式调用

      var EventManager=(function(){
        var events={};
        function fire(evt){
            if(!events[evt]){
                console.log('没有绑定')
                return
            };
            for(var i=0;i<events[evt].length;i++){
                events[evt][i]([].slice.call(arguments,1))
            }
        }
        function on(evt,fun){
            events[evt]=events[evt]||[];
            events[evt].push(fun);
        }
        function off(evt){
            delete events[evt];
        }
        return {
            on:on,
            fire:fire,
            off:off
        }
    })()
    EventManager.on('text:change', function(val){
        console.log('text:change...  now val is ' + val); //绑定了 
    });
    EventManager.fire('text:change', '饥人谷');//输出内容text:change...  now val is 饥人谷
    EventManager.off('text:change');//解绑定
    EventManager.fire('text:change', 'jirengu');//没有绑定

代码题

1.写一个函数createTimer,用于创建计时器,创建的计时器可分别进行计时「新增」。
代码
2.封装一个曝光加载组件,能实现如下方式调用
代码预览
3.封装一个 轮播插件,分别使用对象方式和 jquery插件方式来调用
对象方式
jQuery插件

上一篇下一篇

猜你喜欢

热点阅读