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

Javascript
论坛里点击别人帖子下面的回复,回复标题变成“回复 24# 的帖子”
JavaScript 撑出页面文字换行
JavaScript 高级语法介绍
Javascript 表格操作实现代码
javascript 获取鼠标的绝对位置 event
Input 特殊事件onpopertychange和oninput
javascript 一段左右两边随屏滚动的代码
JS 分号引起的一段调试问题
根据服务器时间作为起始,显示时钟的小程序
js 匿名调用实现代码
javascript 缓冲效果 实现代码
javascript htmlencode函数(ff兼容版) 主要是编辑器中反转html代码
javascript 获取radio的value的函数 [已测]
Javascript 代码也可以变得优美的实现方法
使弱类型的语言JavaScript变强势
js 单引号 传递方法
利用WebBrowser彻底解决Web打印问题(包括后台打印)
web 页面分页打印的实现
可以拖动的div 实现代码
WordPress 照片lightbox效果的运用几点

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


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

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