《javascript设计模式》学习笔记四:javascript面向对象程序设计链式调用实例分析

  

本文实例讲述了Javascript面向对象程序设计链式调用。分享给大家供大家参考,具体如下:

  

<强> 1。链式调用:

  

jquery可能是目前大家最常用到的js框架了,也习惯了如下的调用方式:

        $ (' .someclass '),告诉(). css (“xxx”、“xxxx”) .click(函数(){})xxx”……      之前      

这种调用方式就叫做链式调用,也就是说在调用一个方法之后,可以使用方法的返回值来继续进行方法调用。

  

<强> 2。如何实现链式调用:

  

了解了什么是链式调用,我们再来看如何实现链式调用,从1中所述我们应该知道链式调用的关键在于方法的返回值,只要方法的返回值都是调用该方法的对象,那么,我们就可以实现链式调用了,我们仿照jquery,使用美元作为对象的选择器:

        (函数(){      函数_美元(els) {      这一点。元素=[];      (var=0, len=els.length; i之前      

上面的代码就实现了一个简单的链式调用对象,并且使用一个_美元作为美元的别名,以防止美元被其他代码改写而导致整个对象的定义丢失。

  

<强>附:一个简单链式调用示例:

     /*   map ()   产品遍历的数组的每一项   & # 8203;   */var arr=(1、2、3);   var num=arr.map(函数(物品){   返回项+ 1;   });   console.log (num);//[2、3、4的arr var=(1、2、3);   var num=加勒比海盗。地图(函数(物品){   返回项+ 1;   })。减少(函数(a, b) {//(2、3、4) .reduce ()   返回一个+ b;   })   & # 8203;   console.log (num);//0—2 + 3 + 4=9)   & # 8203;/*   减少实现数组里的每个数相加,也就是给数组的每一项求总和   减少(函数(a, b) {   返回一个+ b;   },)——的初始值   */var arr=(1、2、3);   var num_1=加勒比海盗。减少(函数(a, b) {   返回一个+ b;   })   console.log (num_1);//6   & # 8203;/*   链式调用   一个链子接一个链子   */var arr=(1、2、3);   var num=加勒比海盗。地图(函数(物品){   返回项+ 1;   })。减少(函数(a, b) {//(2、3、4) .reduce ()   返回一个+ b;   })   & # 8203;   console.log (num);//0—2 + 3 + 4=9      之前      

感兴趣的朋友可以使用:http://tools.jb51.net/code/HtmlJsRun测试上述代码运行效果。

  

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript面向对象入门教程》、《JavaScript错误与调试技巧总结》,《JavaScript数据结构与算法技巧总结》,《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

  

希望本文所述对大家JavaScript程序设计有所帮助。

《javascript设计模式》学习笔记四:javascript面向对象程序设计链式调用实例分析