当前位置: 首页 > 图文教程 > 网络编程 > Javascript > JavaScript 函数式编程的原理

Javascript
js 方法实现返回多个数据的代码
Ext 表单布局实例代码
javascript document.referrer 用法
JavaScript 字符编码规则
JS 动态加载脚本的4种方法
jQuery textarea的长度进行验证
jQuery select的操作实现代码
jQuery 1.2.x 升級 1.3.x 注意事项
关于viewport,Ext.panel和Ext.form.panel的关系
日期 时间js控件
JavaScript的parseInt 进制问题
javascript 有用的脚本函数
javascript 两个字符串比较函数
javascript 代码运行器
js arguments.callee的应用代码
JavaScript Table排序 2.0 (更新)
给Function做的OOP扩展
<script defer> defer 是什么意思
FF和IE之间7个JavaScript的差异
javascript获取当前ip的代码

Javascript 中的 JavaScript 函数式编程的原理


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 332 ::
收藏到网摘: n/a

要了解JavaScript中的函数式编程原理,必须理解一下两个知识点 1,JavaScript中函数、方法的调用
在JavaScript中,有两种调用函数的方式。一般的方式是把参数放在括号中,另一种方式是同时把函数和参数都放在括号中。如:
复制代码 代码如下:

function test(x)
{
alert(x);
}
test("hello");
(test)("hello");
//等同于下面的代码
(function test(x)
{
alert(x);
})("hello");
//也等同于下面的代码
(function (x)
{
alert(x);
})("hello");

2,匿名函数
  匿名函数即没有名字的函数或方法。匿名函数可以认为是一次性函数。当你只需要用一次某个函数时,它们就特别有用。通过使用匿名函数,由于没有相关的引用及标识,执行后就会被垃圾回收,所以使用匿名函数更有效率。下面简单地比较一下匿名函数与其他有引用或标识函数:
复制代码 代码如下:

function test(x)
{
alert("定义一个标识函数");
}
var test = function()
{
alert("将一个匿名函数指向一个引用");
}
(function()
{
alert("我是一个匿名函数");
})();//这里其实已经定义并执行了一个匿名函数

  大多数语言都支持将函数作为运算元(参数)参与运算。不过由于对函数的定位不同,因此它们的运算结果也不意一样。当JavaScript中的函数作为参数时,是通过引用传递的。“函数参数”与普通参数并没有什么不同,其结果都返回唯一的值。
复制代码 代码如下:

function test(func)
{
alert(func);
}
test((function(){return "匿名函数(的执行结果)作为参数"})());

  函数式编程的每个变量都是临时产生的。或者可以这么认为:在函数式中没有变量这个概念,任何数据都是根据实际需要,按一定的规则(函数)计算后得到的,这也从一定程度上解决了原子变量并发访问的问题。