日期:2014-5-16 浏览次数:20337次

函数式编程。
前言:
  现在我写的程序 都是 用if else while for in new delete class 的组合语句,
听说:
  函数式编程 很厉害,
  对比面向对象,面向过程,有过之而无及!
主要以下几个方面:
  规划代码容易,简洁,易懂,代码量小,看起来几乎不用翻页,
这是真的吗?
那么:
  ·什么叫做 函数式编程 啊? 
  ·函数式编程 是基于什么样的模型?
  ·什么样的思维方式?

加上:
  为什么,之前学习 C/C++/C# 这些静态语言时没有提到这个 ,
现在我自学 js ,看《javascript 王者归来》时,最后一编 时,
它粗略 介绍了一下,现在我是一巧不通啊。
谁能举个例子来看看?(谢谢 大家!)

------解决方案--------------------
文章里已经说的很清楚了,对于一些需要重复使用的函数,有时其中大部分参数是固定的,需要变化的只是其中某一个参数,这时就可以用固定参数构造一个临时的新的函数,满足了即多样化又简洁的需求。
文章里举得是抛物线的例子,我这照葫芦画瓢举个汇率的例子
JScript code

function Exchange(rate)
{
    return function(x)
    {
        return x*rate;
    }
}

var USD = Exchange(6.5);
alert(USD(2)); //2美元兑换RMB
alert(USD(4)); //4美元兑换RMB
alert(USD(8)); //8美元兑换RMB
var EUR = Exchange(10);
alert(EUR(2)); //2欧元兑换RMB