javaScript中封装的各种写法示例(推荐)

  

  

在javascript的世界里,写法是个神奇的现象,真是百家齐开放啊!每次看到老外写的js组件,思想和写法都怪异,就没看到一个js结构基本相同的代码出来。今天,我就来谈谈js写法,我在开发过程中,也写了几种。对于性能方面,如果代码结构或逻辑写的不好,会造成计算机CPU的运算加大,运行性能降低,js的写法对性能的影响也是至关重要的。

  

通常写js组件开发的,都会用到匿名函数的写法去封装一个对象,与外界形成一个闭包的作用域。(<强>这里对于js的继承,多态,我就不多说了,高级程序员应该具备这些知识,如果您也做过java开发,这个概念太熟悉了。

  

主要对封装进行研究,因为前后台都会涉及到面向对象的概念,对于封装,怎么封装,封装的性能,等等很重要概念。封装(<强>在程序世界是第一概念,我个人认为),全天下漫天遍野的封装,JQuery, EXT和原型。js封装的是javascript jQuery uI和jQuery移动封装着jQuery, java中的JDBC在spirng, Hibernate等框架封装着,在这里列举几个例子,还有很多种不一一介绍。

  

回到主题javaScript封装写法,先来看看一个简单的

        函数hello () {   var='你好';   alert ();   }      

js函数是最原始,最基础的封装,懂js一目了然,如果你的页面不需要很多js交互操作,就可以用这种简单的方式,如果你喜欢用JQuery,则需要写成这样,

        $(函数(){   $ (' # id ') .click(函数(){   alert('你好');   })   });      

如果用node . js则比较复杂点,因为要node . js要加载一个HTTP模块,写法如下,,,,,
  

        var http=要求(“http”);   res http.createServer(函数(点播){   res.writeHead(200年,{“内容类型”:“text/html”});   res.write (' & lt; p> hello

”);   }).listen(8080), 之前      

再深层次封装写法,如果遇到大量使用js操作,单凭每个小的函数无法满足,因为它们存在一个公共的域中,写法多而散很容易造成了很多缺陷因素,需要规整. js创造者给我们提供了一个叫匿名函数,顾名思义,匿名函数就是没有实际名字的函数,它的格式很多种,<代码> !函数(){}(),<代码>(函数(){})(),<代码>(函数(){}()),<代码>新功能(){},<代码> void函数(){}(); JQuery。js就是一个匿名函数封装,先看最常用的
  

        (函数(){   明星。init=(函数(名字){   var e=新的编辑器(名称、Data.toolbarData);   });   })();      

如果开发一些js组件的时候,可以先创建一个对象,给这个对象属性和方法,让这个对象能够单独操作和可以和其他对象合作,,,,,,,,,

        荷航var荷航=| | {};      荷航=(函数(){//第一个写法   荷航。init=function () {      alert('你好');      }//第二个写法   荷航。浏览器=(函数(ua) {   var b={   msie:/msie/test (ua),,!/歌剧/test (ua),   歌剧:/歌剧/test (ua),   safari:/webkit/test (ua),,!/铬/test (ua),   firefox:/firefox/test (ua),   chrome:/铬/test (ua)   };   })(window.navigator.userAgent.toLowerCase ());//将其定义方法以接口方式返回给外界引用      返回{   初始化:klm.init,   浏览器:klm.browser   }      })();      

接下来这种js封装写法是我自己比较喜欢的,,,,

        var myOpinion=myOpinion | | {};   myOpinion.prototype={   init函数(obj, i) {   alert('你好');   },   closeWindow:函数(obj, d) {   obj.click(函数(){   d.hide ();   });   }   }   $(函数(){   var=myOpinion.prototype;   my.init ($ ("。李z-sidebar em”), $(" #接触"));   $(" #接触”)阀门(my.closeWindow ($ ("。李z-sidebar em”), $(" #接触")));      });      

这种方式先通过原型继承方式把每一个小的操作封装成属性,init和closeWindow,然后可以进行初始化加载如<代码> my.init();> $(" #接触”)阀门(my.closeWindow()); 这些封装一气而成。

  

还有定义单个属性封装
  

        WinShow。创建=function (c、身体){   var _head=' & lt; div类=" + c。heacss + "祝辞& lt;跨类=" + c。concss +“祝辞+ c。标题+ ' & lt;/span> & lt;/div>”;   this.container。innerHTML=_head;   返回this.container;   this.container。onclick=function (e) {      alert('你好');      }   }

javaScript中封装的各种写法示例(推荐)