加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 正文

Javascript 框架之全局变量

发布时间:2018-08-21 07:41:58 所属栏目:创业 来源:站长网
导读:纵观各大类库的实现,一开始根基都是界说一个全局变量,然后对它举办扩展。如Prototype.js的Prototype,mootools的Native,Base2的Base,Ext的Ext,JQuery的JQuery,YUI的YUI,dojo的dojo,MochiKit的MochiKit等等。从全局变量的污染水平来看,分为两大类,Pr

  纵观各大类库的实现,一开始根基都是界说一个全局变量,然后对它举办扩展。如Prototype.js的Prototype,mootools的Native,Base2的Base,Ext的Ext,JQuery的JQuery,YUI的YUI,dojo的dojo,MochiKit的MochiKit等等。从全局变量的污染水平来看,分为两大类,Prototype,mootools与Base2归一类。Prototype的哲学是对JS原生工具举办扩展。早些年,Ptototype差点成为究竟的尺度,因此根基没有思量到与其他库的共存题目。基于Prototype,也成长出诸如script.aculo.us,rico,Plotr,ProtoChart,Scripty2等很是优越的类库以及一大堆收费插件,非JQuery那一大堆垃圾插件所能相比的。不外,有点渊源的插件险些与Prototype有关,如闻名的lightbox。mootools是Prototype的进级版,越发OO,全面复制其API。Base则是想修复IE的Bug,让IE拥有尺度赏识器的API,因此也把全部原生工具污染一遍。

  剩下几个大类库就履行非侵入的原则,只管镌汰全局变量。如Ext尚有更多小型类库,它会选择一个自界说工具(着实也是window的一个自界说属性),然后对它的属性举办扩展。根基思绪是:

Copy to ClipboardLiehuo.Net Codes引用的内容:[www.veryhuo.com] Ext = {}; .Ext.Element= function(){} .Ext.DomQuery = function(){} .Ext.DomHelper = function(){}

  JQuery也是一个window自界说属性,并且从一开始就污染了两个(JQurey与$),因此一旦其他类库占用了$,它就退回用JQuery。它与Ext最大的差异的是。它是一个函数工具(Function),而不是一个纯工具(Object)。它的全部扩展都是基于它的JQuery.fn即JQuery.prototype。其他也许袒暴露来的变量都收到闭包与函数中。

  dojo上来就来就构建它无拟伦比的包机制。整个定名空间都是由eval天生,然后再逐步往dojo上添加属性,环境同Ext。不外,它的计划是我见过的类库中最伟大的,涉及的规模也很是普及,搞到代码量到达惊人的9千行(兼注释)。

  MochiKit不知是不是从dojo中派生出来,没怎么研究。但它的组织情势与Ext与dojo很相似。

  YUI与JQuery很相似,是一个函数工具,只不外它后头就没有像JQuery那么猖獗,什么都往原型中加。无疑,YUI与JQuery的理念长短常新奇的,函数比工具更能玩出格式,最少做链式操纵也轻松性。但JQuery一开始就对准页面的谁人DOM元素,而YUI,dojo,Ptototype,mootools等具有强盛担任机制的,更愿意建设一个类,这就是JQuery在UI怎么也比不上它的先进的缘故起因。其它,YUI的作者们在CSS,HTML也造诣极深,因此其UI计划长短常值得进修的。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读