• 使用闭包来实现一个完整的面向对象系统


    //面向对象的方式
    var Tv={
      open:function(){
        alert('打开');
      },
      close:function(){
        alert('关闭');
      }
    };
    
    var CreateCommand = function(rececier){
      this.rececier = rececier;
    };
    CreateCommand.prototype = {
      execute : function(){
        this.rececier.open();
      },
      undo : function(){
        this.rececier.close();
      }
    };
    var setCommand = function(command){
      document.getElementById('execute').onclick = function(){
      command.execute();
      };
      document.getElementById('undo').onclick = function(){
      command.undo();
      };
    };
    
    setCommand( new CreateCommand(Tv));
    
    
    //闭包的方式
    var Tv={
      open:function(){
        alert('打开');
      },
      close:function(){
        alert('关闭');
      }
    };
    
    var CreateCommand = function (rececier){
      var execute = function(){
        rececier.open();
      };
      var undo = function(){
      rececier.close();
      };
    
      return {
        execute:execute,
        undo:undo
       };
    };
    
    var setCommand = function(command){
        document.getElementById('execute').onclick = function(){
        command.execute();
      };
        document.getElementById('undo').onclick = function(){
        command.undo();
      };
    };
    
    setCommand( CreateCommand(Tv));

     摘自JavaScript设计模式与开发实践

  • 相关阅读:
    Ubuntu在用root账户使用xftp连接时提示拒绝连接
    Ubuntu设置root账户密码
    Ubuntu安装Nginx
    Ubuntu不能上网解决办法
    Ubuntu16.04修改静态ip地址
    Ubuntu下vi编辑器不听话
    thinkpad t420安装debian需要注意的细节
    debian7配置iptables
    debian的甘特图工具
    debian修改ssh端口
  • 原文地址:https://www.cnblogs.com/cszdsb/p/6419810.html
Copyright © 2020-2023  润新知