zoukankan      html  css  js  c++  java
  • 用闭包来实现命令模式

    在JavaScript设计模式当中闭包的使用非常的广泛。

    命令模式:把请求封装成对象,从而分离请求的发起者和请求的接受者

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>命令者模式</title>
    </head>
    <body>
    <p>点击执行弹出打开电视机,点击撤销弹出关闭电视机</p>
        <button id="execute">执行</button>
        <button id="undo">撤销</button>
        <script type="text/javascript">
        window.onload=function(){
            //receiver
            var Tv={
                open:function(){
                    alert("打开电视机");
                },
                close:function(){
                    alert("关闭电视机");
                }
            };
            
            var createCommand=function(receiver){
                var execute=function(){
                    return receiver.open();
                };
                var undo=function(){
                    return receiver.close();
                };
                return{
                    execute:execute,
                    undo:undo
                }
            }
             
             var setCommond=function(command){
                 document.getElementById("execute").onclick=function(){
                     command.execute();
                 }
                 document.getElementById("undo").onclick=function(){
                     command.undo();
                 }
             }
    
            setCommond(createCommand(Tv));
        }
        </script>
    </body>
    </html>
  • 相关阅读:
    【LVS 】NAT方式实现过程
    【 LVS 】类型及算法
    [ 总结 ] RHEL6/Centos6 使用OpenLDAP集中管理用户帐号
    [ 手记 ] 关于tomcat开机启动设置问题
    [ 总结 ] nginx 负载均衡 及 缓存
    Mac
    Swift
    Swift
    Cocoapods
    Swift
  • 原文地址:https://www.cnblogs.com/t1amo/p/6767862.html
Copyright © 2011-2022 走看看