`
359904908
  • 浏览: 6264 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

jquery的优点与缺点

阅读更多

1、jQuery实现脚本与页面的分离

在HTML代码中,我们还经常看到类似这样的代码:

  1. <form id="myform" onsubmit=return validate();" >
  2.  

即使validate()函数可以被放置在一个外部文件中,实际上我们依然是把页面与逻辑和事件混杂在一起。jQuery让你可以将这两部分分离。借助于jQuery,页面代码将如下所示:

  1. <form id="myform">
  2.  

接下来,一个单独的JS文件将包含以下事件提交代码:

  1. $("myform").submit(function() {  
  2. ...your code here  
  3. )} 

这样我们可以实现灵活性非常强的清晰页面代码。jQuery让JavaScript代码从HTML页面代码中分离出来,就像数年前CSS让样式代码与页面代码分离开一样。

2、最少的代码做最多的事情

最少的代码做最多的事情,这是jQuery的口号,而且名副其实。使用它的高级selector,开发者只需编写几行代码就能实现令人惊奇的效果。开发者无需过于担忧浏览器差异,它除了还完全支持Ajax,而且拥有许多提高开发者编程效率的其它抽象概念。jQuery把JavaScript带到了一个更高的层次。以下是一个非常简单的示例:

  1. $("p.neat").addClass("ohmy").show("slow");
  2.   

通过以上简短的代码,开发者可以遍历“neat”类中所有的<p>元素,然后向其增加“ohmy”类,同时以动画效果缓缓显示每一个段落。开发者无需检查客户端浏览器类型,无需编写循环代码,无需编写复杂的动画函数,仅仅通过一行代码就能实现上述效果。

3、性能

在大型JavaScript框架中,jQuery对性能的理解最好。尽管不同版本拥有众多新功能,其最精简版本只有18KB大小,这个数字已经很难再减少。jQuery的每一个版本都有重大性能提高。本篇文章讲的是jQuery未经过任何优化的原始速度。如果将其与新一代具有更快JavaScript引擎的浏览器(如火狐3和谷歌Chrome)配合使用,开发者在创建富体验Web应用时将拥有全新速度优势。

4、它是一个“标准”

之所以使用引号,是以为jQuery并非一个官方标准。但是业内对jQuery的支持已经非常广泛。谷歌不但自己使用它,还提供给用户使用。另外戴尔、新闻聚合网站Digg、WordPress、Mozilla和许多其它厂商也在使用它。微软甚至将它整合到Visual Studio中。如此多的重量级厂商支持该框架,用户大可以对其未来放心,大胆的对其投入时间。

5、插件

基于jQuery开发的插件目前已经有大约数千个。开发者可使用插件来进行表单确认、图表种类、字段提示、动画、进度条等任务。jQuery社区已经成长为一个生态系统。这一点进一步证明了上一条理由,它是一个安全的选择。而且,jQuery正在主动与“竞争对手”合作,例如Prototype。它们似乎在推进JavaScript的整体发展,而不仅仅是在图谋一己之私。

6、节省开发者学习时间

当然要想真正学习jQuery,开发者还是需要投入一点时间,尤其是如果你要编写大量代码或自主插件的话,更是如此。但是,开发者可以采取“各个击破”的方式,而且jQuery提供了大量示例代码,入门是一件非常容易的事情。我建议开发者在自己编写某类代码前,首先看一下是否有类似插件,然后看一下实际的插件代码,了解一下其工作原理。简而言之,学习jQuery不需要开发者投入太多,就能够迅速开始开发工作,然后逐渐提高技巧。

7、让JavaScript编程变得有趣

我发现使用jQuery是一件充满乐趣的事情。它简洁而强大,开发者能够迅速得到自己想要的结果。它解决了许多JavaScript问题和难题。我过去曾讨厌JavaScript编程,但现在却非常喜欢它。通过一些基础性的改进,开发者可以真正去思考开发下一代Web应用,不再因为语言或工具的差劲而烦恼。我相信它的“最少的代码做最多的事情”口号。

 

 

jQuery的不足之处

当然,jQuery并非完美无缺。截止到目前我所发现的jQuery不足之处包括:

◆不能向后兼容。每一个新版本不能兼容早期的版本。举例来说,有些新版本不再支持某些selector,新版jQuery却没有保留对它们的支持,而只是简单的将其移除。这可能会影响到开发者已经编写好的代码或插件。

◆插件兼容性。与上一点类似,当新版jQuery推出后,如果开发者想升级的话,要看插件作者是否支持。通常情况下,在最新版jQuery版本下,现有插件可能无法正常使用。开发者使用的插件越多,这种情况发生的几率也越高。我有一次为了升级到jQuery 1.3,不得不自己动手修改了一个第三方插件。

◆在同一页面上使用多个插件时,很容易碰到冲突现象,尤其是这些插件依赖相同事件或selector时最为明显。这虽然不是jQuery自身的问题,但却又确实是一个难于调试和解决的问题。

◆jQuery的稳定性。它没有让我的浏览器崩溃,我这儿指的是其版本发布策略。jQuery 1.3版发布后仅过数天,就发布了一个漏洞修正版1.3.1。他们还移除了对某些功能的支持,可能会影响许多代码的正常运行。我希望类似修改不要再出现。

◆在大型框架中,jQuery核心代码库对动画和特效的支持相对较差。但是实际上这不是一个问题。目前在这方面有一个单独的jQuery UI项目和众多插件来弥补此点。

如果你还在犹豫是否要学习一个JavaScript框架,并困惑于选择哪一个框架,那么我推荐你选择jQuery。这并非说其它框架不好,只是jQuery可能是最稳妥和最具回报性的选择。

分享到:
ant
评论

相关推荐

    深入PHP与jQuery开发 pdf格式

    每个 JavaScript 库都有其优点,jQuery 也不例外,它拥有以下优点:  体积小(1.4版约 23 KB);  语法极其简单;  方法可链式调用;  插件架构,易于扩展;  庞大的线上社区;  极为完善的文档...

    jquery validation 多表单,多按钮,分组验证

    该方法完全解决了 jquery validation 的分组验证的困扰。简单明了,一看便知。使用多Form标签验证的思维。 优点:灵活 缺点:降低了代码的可读性

    FengFocus jQuery焦点图插件

    2、表现形式完全css化,有很多焦点图插件将表现形式写在了js中,优点是只要一个文件,而不用管css。缺点就是,修改样式异常困难,为我不喜。 3、切换效果简单,只采用了 jQuery 自带的 slideDown 和 fadeIn 这两个...

    jquery-bootstrap:一个jquery插件集合,您可以应用与jquery-ui相同的引导程序

    一个jquery插件集合,您可以应用与jquery-ui相同的引导程序。 实际上,这只是Alpha版本。 jquery-bootsrap的序言 您讨厌长长的bootstrap html吗? 您能喜欢简单的基于JSON的配置吗? 您是否喜欢仅通过事件将UI行为...

    jQuery插件实现可输入和自动匹配的下拉框

    实现可输入+带自动匹配功能的下拉框,我试过以下几种方法: 1.直接使用h5的新标签,对应demo如下: &lt;input list=browsers&gt; ...优点:节约js代码;...缺点:IE 9及以下的IE浏览器 和 Safari 均不支

    jquery插件qrcode在线生成二维码

    随着移动互联网的发展,二维码现在应用得越来越广泛了,随手扫扫就可以...优点:开发成本为零,能够快速实现多样化的二维码; 缺点:变更二维码的维护略显麻烦 2、在后端利用java或.net代码生成二维码图片,再在网站上

    基于Bootstrap和jQuery构建前端分页工具实例代码

    优点:一次传输数据,避免用户反复请求服务器,减少网络带宽、服务器调度压力、数据库查询、缓存查询压力 缺点:有新数据无法实时更新,除非用户重新请求数据 过程 刚开始我不希望造轮子,想尽快完成,

    SpringMVC+Hibernate+JqueryTimeLine整合

    自己通过网上寻找的一些资料和文档进行总结和归纳的SpringMVC,自己也其中领悟到SpringMVC的优点和缺点。自己整理好想共享给大家。我在里面的注释也比较详细。其中有一个kindeditor整合这个一直存在问题。就放弃了。...

    实现图片预加载的三大方法及优缺点分析

    本文介绍了实现图片预加载的三大方法(CSS/JAVASCRIPT/AJAX)以及这三种方法的优缺点分析,是篇非常值得推荐的文章,小伙伴们可要仔细研究下。

    一款Jquery 分页插件的改造方法(服务器端分页)

    在webform时代很多人都用过AspNetPager这个用户控件吧,用的人之多其实就在于它的优点:传给它几个参数就可以生成像样的分页,其实这个也是绝大多数程序员(包括我)的致命缺点:样式..,我对于咱们来说用尝试用CSS把一...

    jQuery中的JSON和Ajax

    优点: 异步模式,提升用户体验 减少不必要的数据传输 Ajax引擎在客户端运行,成单率一部分本来有服务器承担的工作。 缺点: 不支持浏览器back按钮 安全问题:Ajax暴露了与服务器交互的细节 对搜索引擎的支持比较差 ...

    基于Jquery制作的幻灯片图集效果打包下载

    待改进部分 1.大图可根据浏览器分辨率自动缩放,目前是按照固定...目前大图区域和缩略图区域是相对独立的,优点是比较直观,可以自行随便更改显示位置,缺点是HTML的代码量较多,不像有些插件,只需要$(“#ID”)一下就

    JS判断图片是否加载完成方法汇总(最新版)

    有时需要获取图片的尺寸,这需要在图片加载完成以后才可以。...缺点:只能指定一个元素,javascipt代码必须置于图片元素的下方 二、jquery方法 [removed] $(function(){ $('.pic1').each(function

    浅谈Ajax相关及其优缺点

    优点: 不需要插件支持 用户体验极佳 提升Web程序性能 减轻服务器和宽带的负担 缺点: 前进后退按钮被破坏 搜索引擎的支持不够 开发调试工具缺乏 同步和异步 同步:也就是必须一件一件事做,等前一件做完了才能做下...

    什么是json和jsonp,jQuery json实例详详细说明

    什么是JSON? 前面简单说了一下,JSON是一种基于文本的数据交换方式,... JSON的缺点当然也有,但在作者看来实在是无关紧要的东西,所以不再单独说明。 JSON的格式或者叫规则: JSON能够以非常简单的方式来描述数据结

    详解js的延迟对象、跨域、模板引擎、弹出层、AJAX【附实例下载】

    1.1、优点 1.2、缺点 1.3、jQuery AJAX示例 二、延迟对象(Deferred) 2.1、回调函数 2.2、deferred.done 三、跨域 3.1、什么是跨域 3.2、JSONP跨域 3.3、jQuery使用JSONP跨域 3.4、跨域资源共享(CORS) 3.5、小结 ...

    Web应用前端技术的探索与实践

    3.2.4 DIV传统布局与frameset相比的缺点与解决办法 6 3.2.5 大量使用ajax的DIV局部页面,会遇到的一些难点 6 3.2.6 解决方法 6 3.2.7 结论 6 3.3 基于DIV的网页布局-模版的核心 7 3.3.1 概述 7 3.3.2 简单、直观的...

    HTML5打开手机扫码功能及优缺点

    2.优点: web端或者是 h5端可以直接完成扫码的工作; 3.缺点: 图片不清晰很容易解析失败(拍照扫描图片需要镜头离二维码的距离很近),相对于 native 呼起的摄像头解析会有1-2秒的延时。 说明: 此插件需要配合zepto....

    phonemask:该插件是针对jQuery开发的,可根据输入的电话号码的开头选择输入掩码

    该插件是针对jQuery开发的,可根据输入的电话号码的开头选择输入掩码。 这种技术可以减少键入电话号码时的错误并使之更加简单。 此外,此插件可用于其他领域,在这些领域中,输入规则可以表示为多个输入掩码。 引言 ...

Global site tag (gtag.js) - Google Analytics