jQuery比其他JavaScript库有什么优势?

时间:2008-09-15 21:15:49

标签: javascript jquery mootools yui prototypejs

我试图说服那些在我当前组织中设定标准的人,我们应该使用jQuery而不是Prototype和/或YUI。我可以用什么令人信服的优势来说服他们?

19 个答案:

答案 0 :(得分:24)

jQuery的3个主要优点是:

  • 与其他javascript框架相比,它的重量轻
  • 它有广泛的plugins可用于满足各种特定需求
  • 设计师更容易学习jQuery,因为它使用熟悉的CSS语法。 jQuery是Javascript for Designers

答案 1 :(得分:14)

我想说我使用JQuery的主要原因是:

  • 大型开发社区和许多插件。
  • 这是在微软的雷达上,他们正在添加一些插件支持和 调试功能。
  • 非常好的第三方图书馆文档。
  • 轻。
  • 链接功能非常强大。

答案 2 :(得分:6)

在我看来,曾经简单地尝试了Prototype,然后尝试并喜欢jQuery:jQuery API感觉更清洁,深思熟虑。 jQuery的创建者/架构师John Resig真的很了解他的东西,它在jQuery的设计中展示,以及他参与的其他各种令人印象深刻的JavaScript项目。

查询和可链接性的整个概念非常适合DOM操作,这似乎是人们使用JS库的主要原因。在线文档太棒了。表现似乎也很好。鉴于它的功能,整个库适合相对较小的包。插件架构对于可扩展性也非常好。

老实说我没有试过YUI,所以我不能对此发表评论。我知道它总共是一个相当大的库,但你可以选择只下载/使用它的特定模块。

答案 3 :(得分:6)

这是你会发现的最精心设计的语言 - 它几乎是直观的。

想要元素的宽度吗?

$('#something').width();

想抓住一个元素,隐藏它,改变它的背景颜色并将其淡化回来?

$('#something').hide().css('background', 'red').fadeIn();

IE的表条带化怎么样(假设定义了hover类)?

$('table tr').hover(function() {
  $(this).addClass('hover');
});

这样的快速,无意识的工作真的有助于销售jQuery。

答案 4 :(得分:6)

这是一个比上面提供的更新的速度测试。上次我运行它的时候,最好的是jQuery,Mootools,Prototype,最后是YUI。注意我在Firefox 3中运行它,浏览器的速度也不同,所以请自己测试一下。

Slick Speed Test

答案 5 :(得分:4)

  1. 它非常小,特别是在缩小时,并且在核心库中提供了很多。

  2. 它也很容易扩展,并且拥有一个活跃的社区。

  3. 最后,它非常容易学习;一旦掌握了核心概念,就可以立即开始编写复杂的解决方案。

答案 6 :(得分:4)

赞成的一个论点是:

受欢迎程度+可扩展性

1)如果有人需要用JavaScript做X,那可能是用jQuery做的 2)如果已经做了很多,可能有一个插件,如果不是原生支持

如果非常独特,那么很多人都会在SO或其他地方回答您的问题。

答案 7 :(得分:4)

jQuery的一个优点是大型社区已经开发了大量插件。

答案 8 :(得分:3)

您可以关注this link以了解有关jQuery的更多信息,使用它的原因以及它的优点。

答案 9 :(得分:2)

嗯...

首先,您应该考虑为什么您认为jQuery是好的,但您不知道用什么参数来说服另一个人。也许你应该首先说服自己。 ;)

无论如何,jQuery只是另一个框架。你应该用它最擅长的。如果你只是为了基本的DOM处理而使用它,那就算了吧!学习如何正确使用js,你会没事的!

考虑这个HTML:

<body>
<div style="width: 400px; height: 400px; background-color: red">
<div style="width: 400px; height: 400px; background-color: red">
</div>

<script type="text/javascript">

function test1 (){
document.body.innerHTML = ""

var div = document.createElement("div");

document.body.appendChild(div);

$(div).width("400px").height("400px").css("background-color", "red");
}    

function test2 (){
document.body.innerHTML = ""

var div = document.createElement("div");

document.body.appendChild(div);

$(div).width("400px");
$(div).height("400px");
$(div).css("background-color", "red");
}

function test3 (){
document.body.innerHTML = ""

var div = document.createElement("div");

document.body.appendChild(div);

div.style.width = "400px";
div.style.height= "400px";
div.style.backgroundColor = "red";
}

function test4 (){
    document.body.innerHTML = ""

    var div = document.createElement("div");

    document.body.appendChild(div);

    div.setAttribute("style", "width: 400px; height: 400px; background-color: red");
}

</script>
</body>

将其放在hml文件中,<head>

中提供了jquery

然后,打开firebug并运行以下代码:     console.profile();     TEST1();     console.profileEnd();

console.profile();
test2();
console.profileEnd();

console.profile();
test3();
console.profileEnd();

console.profile();
test4();
console.profileEnd();

为自己查看结果!

但是如果你想在DOM上做一些复杂的操作,需要你做几个循环或者找出DOM上的元素符合某些标准,你可以考虑使用jQuery,因为它会为你实现这个过程。 / p>

无论如何,请记住,没有什么比使用您保存在代码中的引用控制DOM更好的了。它更快,更易读。 Google“js最佳做法”。

我将jQuery用于复杂的事情,它需要花费很长时间才能实现,最终会得到类似jQuery的代码。在这种情况下,使用它是有道理的!

玩得开心!

答案 10 :(得分:2)

根据经验,每个人都有自己的优点和缺点,因为在你的应用程序中有一个非常具体的角色。做出全球决定可能不是最合适的方法。开展手头的具体任务,分析绩效,膨胀,经验等,然后做出具体的决定/建议。

答案 11 :(得分:1)

它有一套很好的插件,编码风格不引人注目,这意味着它不会太难替换。还有一个很好的替代Ruby on Rails助手,称为jRails。

性能方面他们都非常接近:http://www.kenzomedia.com/speedtest/但是,MooTools,dojo,ext和Prototype在我的环境中都运行得更快。

我的问题是 - 您为什么要使用它?是因为你更了解它吗?

答案 12 :(得分:1)

我已经使用jQuery几个月了,并且发现它是一种愉快的体验。框架清晰简洁,它有一个很棒的插件架构并得到很好的支持,但框架是一个非常私人的东西,你应该尝试一些通常不需要很长时间才能找到最适合你的那个。< / p>

不确定这对您是否重要,但微软最近在VS 2008 Here is the blog post的下一次更新中宣布支持jQuery。

你可以听到jQuery背后的人John Resig,在最近Boagworld podcast上讨论了其他各种框架。它可能会帮助你下定决心。

答案 13 :(得分:1)

Jquery已经存在了几年,所以像其他人一样,它有一个很深的社区,很多插件和不错的支持。暂且不谈的是它很容易学习。

请参阅http://visualjquery.com/1.1.2.html

答案 14 :(得分:1)

也许你不应该?这完全取决于您正在构建的应用程序类型。如果您正在构建GUI密集型应用程序,比如Yahoo!邮件,那么也许你应该考虑使用YUI或Mootools而不是jquery。就个人而言,我是一个巨大的jQuery粉丝,但它绝对是最好的添加一个交互的大多数静态UI。另一方面,如果你正在使用它,那么jquery更简单,语法更好,并且它有很多动力。

答案 15 :(得分:1)

我是Prototype的人,但我使用了jQuery。老实说,我不认为两者之间可以作为“卖点”使用。另一方面,YUI非常臃肿。我永远不会在任何商业级应用程序中使用它。

我发现this page谈论了这个确切的主题。

答案 16 :(得分:0)

如果您试图从业务角度说服人们,微软最近决定使用Visual Studio发布jQuery可能有助于建立一些额外的可信度。然后,这可能会伤害你的事业,这取决于他们对微软的看法。

答案 17 :(得分:0)

为什么不创建快速比较?

执行一项任务,例如“查找包含类foo图像的所有div或表,并将click事件附加到每个div,这使得它们扩展50%。”或者与您正在做的事情更相关的事情。

然后使用jQuery,Prototype等进行编码,并进行比较。哪个更短?更容易阅读?跑得快? (您可以找到速度比较here。)

答案 18 :(得分:0)

与使用原始javascript相比,使用JQuery具有多个好处。

  1. jQuery是跨浏览器
  2. jQuery比原始javascript更易于使用
  3. jQuery是可扩展的
  4. jQuery简化并具有丰富的AJAX支持
  5. jQuery具有庞大的开发社区和许多插件。自动填充文本框插件示例。
  6. 优秀的文档