函数式编程
来源:互联网 发布:笔记本温度监测软件 编辑:程序博客网 时间:2024/05/06 16:09
函数式编程
函数式编程概念,包括匿名函数、调用函数的不同方法,以及将函数作为参数传递给其他函数的方式。函数式概念的运营,采用的示例包括:扩展数组排序;动态HTML生成的优美代码;系列函数的应用。
相较于指令式编程,函数式编程强调函数的计算比指令的执行重要。相较于过程化编程,函数的计算可随时调用。以编写一个计算阶乘的函数为例,我们可以编写一个循环程序解决问题,也可以使用递归来得到所有数字的乘积。
- 过程化编程计算阶乘
int factorial (int n){ if (n < = 1) return 1; else return n * factorial (n-1);}
- javascript中函数式编程示例
函数并不总是需要名称。
函数可以像其他值一样分配给变量。
函数表达式可以编写并放在括号中,留待以后应用。
函数可以作为参数传递给其他函数。
一个普通的过程化计算求和函数:
function sum(x,y,z) { return (x+y+z);}
上述函数对应的匿名函数:
function(x,y,z) { return (x+y+z);}
调用匿名函数:使用函数作为值,也可以将函数作为值使用。还可以拥有一些所赋值是函数的变量
var sum = function(x,y,z) { return (x+y+z);}(1,2,3);alert(sum);
为变量 sum 赋的值是函数定义本身。这样,sum 就成了一个函数,可以在任何地方调用。
var sum = function(x,y,z) { return (x+y+z);}alert(sum(1,2,3));
JavaScript 中两种方式调用函数的方式:
alert (“Hello, World!");(alert) (“Hello, World!");
可以在括号中编写函数表达式,然后传递给参数,对参数进行运算。
( function(x,y,z) { return (x+y+z) } ) (1, 2, 3);
也可以将函数作为参数传递,并应用该函数
var passFunAndApply = function (fn,x,y,z) { return fn(x,y,z); };var sum = function(x,y,z) { return x+y+z;};alert( passFunAndApply(sum,3,4,5) ); // 12
函数式编程的发展
函数式编程语言不太流行有各种原因,常被认为严重耗费CPU和内存资源。主因有二:早期的函数式编程语言实现时并无考虑过效率问题。非函数式编程语言为求提升速度,会在某些部分放弃边界检查或垃圾回收等功能。但近来, 以.NET 平台上的 Haskell为例的函数式编程语言正在进入计算机行业。其他一些语言也借用了函数式编程语言中的部分概念。一些 C++ 实现中的迭代器和 continuation,以及 JavaScript 中提供的一些函数式构造(functional construct),就是这种借用的示例。尽管如此,通过借用函数式构造,总的语言编程范例并没有发生变化。JavaScript 并没因为函数式构造的添加就变成了函数式编程语言。
- 函数式编程
- 函数式编程
- 函数式编程
- 函数式编程
- 另类函数式编程
- 函数式编程(FP)
- 函数式编程
- 函数式编程
- 函数式编程
- 函数式编程!
- 函数式编程指南
- F# 函数式编程
- 什么是函数式编程
- 函数式编程扫盲
- 函数式编程初探
- 函数式编程
- 函数式编程初探
- 函数式编程初探
- Eclipse:显示堆内存状态
- JSP实现邮件发送机制
- linux c++ 获取基本类型的极值
- Ext FormPanel布局
- uploadify使用若干问题
- 函数式编程
- 用busybox制作文件系统
- 背单词App开发日记2
- Tomcat Server at localhost was unable to start within 45 seconds)
- 进程间 对共享资源的访问 互斥 机制
- Linux 下查看机器配置命令
- 康托尔连续统假设正确吗?
- NYOJ275 队花的烦恼一
- Css学习笔记(一)