zoukankan      html  css  js  c++  java
  • JS 函数式编程

    1.常例 
    // 太傻了
    var getServerStuff = function(callback){
      return ajaxCall(function(json){
        return callback(json);
      });
    };
    
    // 这才像样
    var getServerStuff = ajaxCall;

      解析:

    // 这行 hang
    return ajaxCall(function(json){
      return callback(json);
    });
    
    // 等价于这行
    return ajaxCall(callback);
    
    // 那么,重构下 getServerStuff
    var getServerStuff = function(callback){
      return ajaxCall(callback);
    };
    
    // ...就等于
    var getServerStuff = ajaxCall; // <-- 看,没有括号哦

     2.尽可能避免使用 this,结合 bind,apply 等的使用。

     3.纯函数,如 slice,相同的输入返回相同的输出;固定的变量建议设置在函数作用域内,做到自给自足,或使用冻结函数方法 Object.freeze({ a : 1 })。

      tips1:const 与 freeze 不同。

      tips2:涉及缓存 memoize 技术

      tips3:纯函数利于测试,给个输入,断言输出即可;纯函数利于移植,不关注环境,配置等。

  • 相关阅读:
    web print
    datediff
    Typical AJAX
    sql中构建sql语句,再exec这条SQL语句
    ASP.NET中将数据输出到WORD、EXCEL、TXT、HTM
    sql中添加单引号
    sql语句批处理
    日期分组
    异步线程
    电脑内存大有什么好处?
  • 原文地址:https://www.cnblogs.com/yuqlblog/p/9834882.html
Copyright © 2011-2022 走看看