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

JavaScript 中的函数式编程实践

 2010-06-23 00:00:00 来源:WEB开发网   
核心提示: 清单 14. 正确的使用闭包varoutter=[];functionclouseTest2(){vararray=["one","two","three","four"];for(vari=0;i<array

清单 14. 正确的使用闭包

 var outter = []; 
 function clouseTest2(){ 
 var array = ["one", "two", "three", "four"]; 
 for ( var i = 0; i < array.length;i++){ 
 var x = {}; 
  x.no = i; 
  x.text = array[i]; 
 x.invoke = function (no){ 
 return 
   function (){ 
 print(no); 
  } 
  }(i); 
  outter.push(x); 
 }  
 } 

通过将函数 柯里化,我们这次为 outter 的每个元素注册的其实是这样的函数:

 //x == 0 
 x.invoke = function (){print(0);} 
 //x == 1 
 x.invoke = function (){print(1);} 
 //x == 2 
 x.invoke = function (){print(2);} 
 //x == 3 
 x.invoke = function (){print(3);} 

这样,就可以得到正确的结果了。

实际应用中的例子

好了,理论知识已经够多了,我们下面来看看现实世界中的 JavaScript 函数式编程。有很多人为使 JavaScript 具有面向对象风格而做出了很多努力 (JavaScript 本身具有 可编程性),事实上,面向对象并非必须,使用函数式编程或者两者混合使用可以使代码更加优美,简洁。

jQuery 是一个非常优秀 JavaScript/Ajax 框架,小巧,灵活,具有插件机制,事实上,jQuery 的插件非常丰富,从表达验证,客户端图像处理,UI,动画等等。而 jQuery 最大的特点正如其宣称的那样,改变了人们编写 JavaScript 代码的风格。

优雅的 jQuery

有经验的前端开发工程师会发现,平时做的最多的工作有一定的模式:选择一些 DOM 元素,然后将一些规则作用在这些元素上,比如修改样式表,注册事件处理器等。因此 jQuery 实现了完美的 CSS 选择器,并提供跨浏览器的支持:

上一页  3 4 5 6 7 8 9 10  下一页

Tags:JavaScript 函数 编程

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