博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
函数Curry化
阅读量:6708 次
发布时间:2019-06-25

本文共 735 字,大约阅读时间需要 2 分钟。

Curry化技术是一种通过把多个参数填充到函数体中,实现将函数转换为一个新的经过简化的(使之接受的参数更少)函数的技术

写个例子,该函数的作用是改变一个div的样式

function changeStyle (obj,json){     for(var attr in json){         obj.style[attr] = json[attr]          }  }

假如我接下来可能需要大量的针对某一个元素进行样式改变,这时候就可以使用函数Curry化,代码如下:

 

function changeStyle(obj,json){

  if(typeof json === "undefined"){
    return function (json){
      cs(obj,json);
    }
  }else{
  cs(obj,json);
  }

 

  function cs(obj,json){

    for(var attr in json){
      obj.style[attr] = json[attr];
     }
   }
}

 

下面是该函数的使用方法

var oDiv = document.getElementById("div");changeStyle(oDiv)({     "width":"100px",    "height":"200px",    "background-color":"#c06"})

这个例子仅仅是两个参数的情况,当参数较为复杂的时候,这种方法的好处就彻底的体现出来了

转载于:https://www.cnblogs.com/liqingchang/p/3725081.html

你可能感兴趣的文章
android 成长日记 2.Activity的生命周期
查看>>
iOS 生成自己的SDK的方法(.framework)
查看>>
游戏程序的设计模式--工厂模式
查看>>
@exceptionhandler 没有起作用,捕获不到异常
查看>>
webservice 请求访问
查看>>
python-81:交互
查看>>
上线部署那些事1
查看>>
Jquery编程基础
查看>>
[iOS Animation]-CALayer 视觉效果-shadowPath属性
查看>>
XenServer的共享存储下建立多个SR,还是1个SR?
查看>>
EBS镜像启动终止
查看>>
二叉树平衡检查
查看>>
【DOC】公司IT信息管理中心个人工作总结
查看>>
alcatraz
查看>>
如何通过组策略为IE10/IE11添加收藏夹栏
查看>>
Handlebars.js笔记
查看>>
Service 服务
查看>>
MapReduce提交到Yarn上大体执行流程
查看>>
ES使用总结
查看>>
我的友情链接
查看>>