《JavaScript 语言精髓》 摘录(一)
来源:互联网 发布:颖儿怎么瘦下来的知乎 编辑:程序博客网 时间:2024/05/22 14:43
柯里化
var add = function(a, b){ return a + b;};add.curry = function(){ var slice = Array.prototype.slice, //[].slice that = this,args = slice.apply(arguments);return function(){ return that.apply(null,args.concat(slice.apply(arguments)));};};var add1 = add.curry(1);alert(add1(6));
柯里化就是把多参数的函数转换为一系列单参数函数并进行调用的技术。在这里add1是把1传递给add.cuury方法后创建的一个函数,在这个函数中在传入6这个参数,再执行add方法。
使用示例:摘自论坛
在AJAX应用中,根据不同的地址跟返回不同的数据,然后做出不同的处理,这里如果分布判断的话,代码就很难耦合。使用柯里化,很容易维护代码。
//update会返回一个函数,这个函数可以设置id属性为item的web元素的内容 function update(item){ return function(text){ $("div#"+item).html(text); } } //Ajax请求,当成功是调用参数callback function refresh(url, callback){ var params = { type : "echo", data : "" }; $.ajax({ type:"post", url:url, cache:false, async:true, dataType:"json", data:params, //当异步请求成功时调用 success: function(data, status){ callback(data); }, //当请求出现错误时调用 error: function(err){ alert("error : "+err); } }); } refresh("action.do?target=news", update("newsPanel")); refresh("action.do?target=articles", update("articlePanel")); refresh("action.do?target=pictures", update("picturePanel")); 其中,update函数即为柯里化的一个实例,它会返回一个函数,即: update("newsPanel") = function(text){ $("div#newsPanel").html(text); }
- 《JavaScript 语言精髓》 摘录(一)
- 《JavaScript语言精粹》摘录一
- JavaScript学习摘录(一)
- 《JavaScript语言精髓》读书笔记
- javascript 语言精髓 学习笔记
- 《Javascript 语言精髓》读书心得
- JavaScript : the good parts(语言精髓读书笔记)
- 书单(四)——《javascript语言精髓实践》
- 黑马程序员------指针才是C语言精髓(一)
- 阅读摘录(一)
- 语句摘录(一)
- JavaScript精髓
- 《JavaScript语言精髓与编程实践》(第二版)相关资源汇总
- 《JavaScript语言精髓与编程实践(第二版)》勘误【2012.12】
- (摘录)javascript笔试题
- JavaScript创建对象(摘录)
- JavaScript学习摘录(二)
- 《JAVASCRIPT语言精髓与编程实践》预读样章公开~
- android ListView 滑动到最底部并且停止滑动时候加载数据
- JDBC进阶之事务处理基本原理及示例
- 排序算法—堆和堆排序
- JDBC进阶之批处理 Batch
- 关于 Android 下的自动化测试
- 《JavaScript 语言精髓》 摘录(一)
- Linux学习步骤
- 在Eclipse中配置tomcat
- Python
- 织梦“自定义表单”制作在线留言、反馈信息、在线订购、在线报名系统
- Myeclipse7.5注册机java源代码
- 部署一台Windows 2003 32位服务器,安装oracle 9.2.0.1版本的数据库,并且升级到9.2.0.6
- 11-DIV+CSS-浮动
- ViewFilpper