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

Javascript
jQuery开发者都需要知道的5个小技巧
Extjs学习笔记之六 面版
Javascript 中的类和闭包
IE6下JS动态设置图片src地址问题
Extjs学习笔记之七 布局
Extjs学习笔记之八 继承和事件基础
Extjs TriggerField在弹出窗口显示不出问题的解决方法
JavaScript中的集合及效率
利用js获取服务器时间的两个简单方法
在html页面上拖放移动标签
了解jQuery技巧来提高你的代码
JavaScript 页面坐标相关知识整理
Javascript UrlDecode函数代码
JQuery 遮罩层实现(mask)实现代码
jQuery 页面 Mask实现代码
Javascript的构造函数和constructor属性
js或css文件后面跟参数的原因说明
将CKfinder整合进CKEditor3.0的新方法
jQuery UI-Draggable 参数集合
jQuery 行级解析读取XML文件(附源码)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 59 ::
收藏到网摘: 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 "匿名函数(的执行结果)作为参数"})());

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