WEB开发网
开发学院网页设计JavaScript JavaScript 中的函数式编程实践 阅读

JavaScript 中的函数式编程实践

 2010-06-23 00:00:00 来源:WEB开发网   
核心提示: JavaScript 中的函数式编程JavaScript 是一门被误解甚深的语言,由于早期的 Web 开发中,JavaScript 中的函数式编程实践(4),充满了大量的 copy-paste 代码,因此平时可以见到的 JavaScript 代码质量多半不高,比如:清单 4. LISP 中的加法

JavaScript 中的函数式编程

JavaScript 是一门被误解甚深的语言,由于早期的 Web 开发中,充满了大量的 copy-paste 代码,因此平时可以见到的 JavaScript 代码质量多半不高,而且 JavaScript 代码总是很飞动的不断闪烁的 gif 广告,限制网页内容的复制等联系在一起的,因此包括 Web 开发者在内的很多人根本不愿意去学习 JavaScript。

这种情形在 Ajax 复兴时得到了彻底的扭转,Google Map,Gmail 等 Ajax 应用的出现使人们惊叹:原来 JavaScript 还可以做这样的事!很快,大量优秀的 JavaScript/Ajax 框架不断出现,比如 Dojo,Prototype,jQuery,ExtJS 等等。这些代码在给页面带来绚丽的效果的同时,也让开发者看到函数式语言代码的优雅。

函数式编程风格

在 JavaScript 中,函数本身为一种特殊对象,属于顶层对象,不依赖于任何其他的对象而存在,因此可以将函数作为传出 / 传入参数,可以存储在变量中,以及一切其他对象可以做的事情 ( 因为函数就是对象 )。

JavaScript 被称为有着 C 语法的 LISP,LISP 代码的一个显著的特点是大量的括号以及前置的函数名,比如:

清单 4. LISP 中的加法

 (+ 1 3 4 5 6 7) 

加号在 LISP 中为一个函数,这条表达式的意思为将加号后边的所有数字加起来,并将值返回,JavaScript 可以定义同样的求和函数:

清单 5. JavaScript 中的求和

function sum(){ 
 var res = 0; 
 for ( var i = 0, len = arguments.length; i < len; i++){ 
 res += parseInt(arguments[i]); 
 } 
 return res; 
 } 
 
 print(sum(1,2,3)); 
 print(sum(1,2,3,4,6,7,8)); 

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:JavaScript 函数 编程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接