zoukankan      html  css  js  c++  java
  • command (命令)模式

    通过简单的command(命令)模式,理解apply, call, 作用域

     (function(){
            var carManager = {
                requestInfo:function(model,id){
                    return 'the infomation for '+model+' with ' + id+' is in foobar';
                },
                buyVehicle:function(model,id){
                    return 'you hava successed buy  '+model+' with ' + id+' ';
                },
                arrangeViewing:function(){}
            };
            carManager.execute = function(name){
                return carManager[name] && carManager[name].apply(carManager,[].slice.call(arguments,1));
            };
    
            carManager.execute('requestInfo','mini','1234');
    
        })();

    carManager[name] && carManager[name].apply(carManager,[].slice.call(arguments,1));

    先从[].slice.call(arguments,1);开始说起,[]空数组使用slice方法,call(作用域,参数)。等于arguments.slice(1);并将结果返回到[]空数组里面。最后结果得到数组['mini','1234']

    接着是carManager[name].apply(carManager,['mini','1234']);apply(作用域,参数(数组));将carManager[name]的作用域设置为(对象carManager),再把参数穿进去

  • 相关阅读:
    下载Spring
    Jsp的静态引入和动态引入
    Jsp代码书写
    Jsp的page指令
    Jsp注释
    Python学习笔记Day04
    sublime
    sublime
    爬虫学习02_数据提取
    爬虫学习01_爬虫基础与requests模块
  • 原文地址:https://www.cnblogs.com/lihaozhou/p/3851981.html
Copyright © 2011-2022 走看看