JavaScript之函数式编程不完全函数
2018-03-29 00:08
381 查看
不完全函数编程是一种函数编程技巧,即把一次完整的函数调用拆成多次函数调用,每次传入的参数都是完成参数的一部分,每次才分开的函数就叫做不完全函数。每次函数调用就叫做不完全调用。
特点: 每次调用都返回一个函数,知道调用最终位置。
在函数式编程中ES3.0模拟bind的方法就是一个很好的例子。先看代码。Function.prototype.newBind(target){
var target = target || window ;
var self = this;
var args = [].slice.call(arguments,1);
var temp = function(){};
var F = function(){
var _args = [].slice.call(arguments,0);
return self.apply( this instanceo temp ? this : target,args.concat(_args));
}
temp.prototype = this.prototype;
F.prototype = new temp();
return F;
不完全函数有点难理解,看了好多遍,多多用代码实践一下,会理解的快一点。
--主页传送门--
特点: 每次调用都返回一个函数,知道调用最终位置。
在函数式编程中ES3.0模拟bind的方法就是一个很好的例子。先看代码。Function.prototype.newBind(target){
var target = target || window ;
var self = this;
var args = [].slice.call(arguments,1);
var temp = function(){};
var F = function(){
var _args = [].slice.call(arguments,0);
return self.apply( this instanceo temp ? this : target,args.concat(_args));
}
temp.prototype = this.prototype;
F.prototype = new temp();
return F;
function show(name,age){ console.log(name); console.log(age); } var newShow = show.newBind(null,'text'); newShow(18);有上面可见,newBind返回的函数经过了两次调用,是典型的不完全函数。
不完全函数有点难理解,看了好多遍,多多用代码实践一下,会理解的快一点。
--主页传送门--
相关文章推荐
- 翻译连载 | JavaScript 轻量级函数式编程-第2章:函数基础 |《你不知道的JS》姊妹篇
- JavaScript之函数式编程思想--函数记忆
- 函数式JavaScript编程指南
- javascript少儿编程关于返回值的函数内容
- 转自:Python函数式编程指南(二):函数
- javascript 函数式编程
- 用函数式编程技术编写优美的 JavaScript
- 函数式编程::高阶函数::上
- Python 函数式编程--偏函数
- python 函数、函数式编程、变量作用域、函数__doc__属性
- 函数对象与闭包详解,函数式编程
- 函数式编程的内建函数
- 个人总结的一些JavaScript技巧、实用函数、简洁方法、编程细节
- python函数式编程:匿名函数,装饰器,偏函数
- JavaScript(一)--变量和数据类型/流程控制语句/函数/网页时钟/基于对象编程
- Python的函数以及函数式编程
- JavaScript学习总结-技巧、实用函数、简洁方法、编程细节
- javascript-----函数式编程风格
- 用函数式编程技术编写优美的 JavaScript
- JavaScript 函数式编程到底是个啥