>웹 프론트엔드 >JS 튜토리얼 >JQuery 장점과 단점 분석 설명_jquery

JQuery 장점과 단점 분석 설명_jquery

WBOY
WBOY원래의
2016-05-16 18:08:061015검색

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

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

 

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

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

代码如下:
$("myform").submit(function(){ 
...your code here 
)} 
这样我们可以实现灵活性非常强的清晰页面代码。jQuery让JavaScript代码从HTML页面代码中分离出来,就像数年前CSS让样式代码与页面代码分离开一样。 

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

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

代码如下:
$("p.neat").addClass("ohmy").show("slow"); 

通过以上简短的代码,开发者可以遍历“neat”类中所有的

元素,然后向其增加“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 프로그래밍을 싫어했지만 지금은 정말 좋아합니다. 몇 가지 기본적인 개선을 통해 개발자는 차세대 웹 애플리케이션 개발에 대해 실제로 생각할 수 있으며 더 이상 열악한 언어나 도구에 대해 걱정할 필요가 없습니다. 나는 "최소 코드로 가장 많은 일을 한다"는 진언을 믿습니다.

jQuery의 단점

물론 jQuery는 완벽하지 않습니다. 지금까지 제가 발견한 jQuery의 단점은 다음과 같습니다.

◆ 이전 버전과 호환되지 않습니다. 각각의 새 버전은 이전 버전과 호환되지 않습니다. 예를 들어 일부 새 버전은 더 이상 특정 선택기를 지원하지 않지만 새 버전의 jQuery는 이에 대한 지원을 유지하지 않고 단순히 제거합니다. 이는 개발자가 이미 작성한 코드나 플러그인에 영향을 미칠 수 있습니다.

◆ 플러그인 호환성. 이전 지점과 유사하게 jQuery의 새 버전이 출시될 때 개발자가 업그레이드를 원하는 경우 플러그인 작성자가 이를 지원하는지 여부에 따라 다릅니다. 종종 기존 플러그인이 최신 jQuery 버전에서 제대로 작동하지 않을 수 있습니다. 개발자가 사용하는 플러그인이 많을수록 이런 일이 발생할 가능성이 높아집니다. jQuery 1.3으로 업그레이드하기 위해 제3자 플러그인을 직접 수정해야 했던 적이 있습니다.

◆ 동일한 페이지에서 여러 플러그인을 사용할 때 충돌이 발생하기 쉽습니다. 특히 이러한 플러그인이 동일한 이벤트나 선택기에 의존하는 경우 더욱 그렇습니다. 이는 jQuery 자체의 문제는 아니지만 디버깅과 해결이 어려운 문제이다.

◆ jQuery의 안정성. 내 브라우저는 충돌하지 않았으며 여기서는 출시 전략을 언급하고 있습니다. jQuery 버전 1.3이 출시된 지 불과 며칠 만에 버그 수정 버전 1.3.1이 출시되었습니다. 또한 많은 코드의 올바른 작동에 영향을 미칠 수 있는 특정 기능에 대한 지원을 제거했습니다. 비슷한 수정이 다시는 발생하지 않기를 바랍니다.

◆ 대규모 프레임워크에서 jQuery 핵심 코드 베이스는 애니메이션 및 특수 효과에 대한 지원이 상대적으로 부족합니다. 그러나 실제로 이것은 문제가 되지 않습니다. 현재 이를 보완하기 위한 별도의 jQuery UI 프로젝트와 수많은 플러그인이 있습니다.

아직 자바스크립트 프레임워크를 배워야 할지 망설이고 어떤 프레임워크를 선택해야 할지 고민 중이시라면 jQuery를 선택하시길 권해드립니다. 다른 프레임워크가 나쁘다는 것은 아니지만 jQuery가 아마도 가장 안전하고 보람 있는 선택일 것입니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.