1、jQuery实现脚本与页面的分离
在HTML代码中,我们还经常看到类似这样的代码:
即使validate()函数可以被放置在一个外部文件中,实际上我们依然是把页面与逻辑和事件混杂在一起。jQuery让你可以将这两部分分离。借助于jQuery,页面代码将如下所示:
代码如下:
$("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 プログラミングが嫌いでしたが、今ではすっかり大好きになりました。いくつかの基本的な改善により、開発者は次世代の Web アプリケーションの開発について真剣に考えることができ、言語やツールの貧弱さを心配する必要がなくなります。私は「最小限のコードで最大限の効果を発揮する」という信条を信じています。
jQuery の欠点
もちろん、jQuery は完璧ではありません。私がこれまでに発見した jQuery の欠点は次のとおりです:
◆ 下位互換性はありません。新しいバージョンはそれぞれ、以前のバージョンと互換性がありません。たとえば、一部の新しいバージョンでは特定のセレクターがサポートされなくなりましたが、jQuery の新しいバージョンではそれらのサポートは維持されず、単に削除されます。これは、開発者がすでに作成したコードやプラグインに影響を与える可能性があります。
◆ プラグインの互換性。前の点と同様に、新しいバージョンの jQuery がリリースされたときに、開発者がアップグレードするかどうかは、プラグインの作成者がそれをサポートしているかどうかによって異なります。多くの場合、既存のプラグインは最新の jQuery バージョンでは正しく動作しない可能性があります。開発者が使用するプラグインが増えるほど、この問題が発生する可能性が高くなります。 jQuery 1.3 にアップグレードするためにサードパーティのプラグインを自分で変更しなければならなかったことがあります。
◆ 同じページで複数のプラグインを使用する場合、特にこれらのプラグインが同じイベントまたはセレクターに依存している場合、競合が発生しやすくなります。これは jQuery 自体の問題ではありませんが、確かにデバッグと解決が難しい問題です。
◆ jQuery の安定性。私のブラウザはクラッシュしませんでした。ここではそのリリース戦略について言及しています。 jQuery バージョン 1.3 のリリースからわずか数日後、バグ修正バージョン 1.3.1 がリリースされました。また、多くのコードの適切な機能に影響を与える可能性がある特定の機能のサポートも削除されました。同様の改造が二度と起こらないことを祈ります。
◆ 大規模なフレームワークでは、jQuery コア コード ベースはアニメーションや特殊効果のサポートが比較的不十分です。しかし、実際にはこれは問題ではありません。現在、これを補う別の jQuery UI プロジェクトと多数のプラグインがあります。
JavaScript フレームワークを学ぶかどうか迷っていて、どのフレームワークを選択すればよいか迷っている場合は、jQuery を選択することをお勧めします。他のフレームワークが悪いと言っているわけではありませんが、jQuery がおそらく最も安全で最も価値のある選択肢です。