61

我目前负责向我们公司内的 Web 开发人员社区推广 jQuery 的使用。其中一部分涉及展示课程,但另一部分涉及交流标准和最佳实践。

如果您在 Google 上搜索“jQuery 最佳实践”,您可能会在搜索结果中找到以下内容。 http://www.smashingmagazine.com/2008/09/16/jquery-examples-and-best-practices/ http://www.artzstudio.com/2009/04/jquery-performance-rules/

这些对我很有帮助,我从中得到了很多有用的信息。然而,我真正感兴趣的是来自经验丰富的 jQuery 开发人员和那些可能发现自己处于与我相似位置的人的最佳实践的任何提示、陷阱、意见等。任何好的链接也将不胜感激。

编辑:

在我自己的页面上添加了 jQuery 编码标准部分:

http://www.jameswiseman.com/blog/?p=48

4

4 回答 4

42

您可以在 StackOverflow.com 中找到这个热门话题

要避免的 jQuery 陷阱

非常有趣的有用提示一个接一个。

以下是我在书签中找到的更多内容:

于 2009-08-07T16:05:52.490 回答
27

我个人开始做的事情是一种用于 jQuery 集的Apps Hungarian Notation,通过在这些变量前面加上$

var someInt = 1;
var $someQueryCollection = $( 'selector' );

我发现随着我的 jQuery 片段的增长,这变得非常宝贵,不仅在促进将 jQuery 集存储为变量,而且帮助我跟踪哪些变量实际上是jQuery 集。

于 2009-08-07T16:39:28.740 回答
12

不显眼的 JavaScript(标记和行为分离)

过去,将点击处理程序放在标记中是很常见的。现在建议您不要在标记中编写 JS 代码,而是通过 DOM 事件包含它。

渐进式增强

如果用户使用符合标准的浏览器和/或启用了 JavaScript,他们将获得更好的体验。网站/Web 应用程序即使使用较旧的浏览器或禁用了 JS,仍然可以访问。

特征检测而不是浏览器检测

抛开以上几点,我将真正专注于传达 JavaScript 是一种玩具语言的信息(打破先入为主的观念)。我见过太多这样想的开发人员,一切都从那里走下坡路。你需要向他们解释 JavaScript 如何是一种非常强大的语言,以及为什么他们需要一个 JS 库(因为浏览器的不一致),尽管 JS 本身非常强大。

祝你好运。

于 2009-08-07T17:15:15.500 回答
2

jQuery 的工作方式与 JavaScript 的工作方式不同,尽管它们是一回事。jQuery 适用于 CSS 选择器,例如类名和元素的 id。要在 jQuery 中选择一个项目,您可以:

$("#yourID") or $(".yourClass") or $("div") or $("#yourID p") etc

您将获得页面上符合您标准的所有元素的集合。然后,您可以对所有这些元素执行您的操作,而无需任何形式的循环。记住这一点很重要:

$(".yourClass").click(function(){
    //do stuff
});

将影响所有.yourClass附加到它们的项目。一个提示:如果你要访问$(this),你应该将它保存为一个局部变量:

$(".yourClass").click(function(){
    var $this = $(this);
});

因为它会加速你的功能。

于 2009-08-07T16:02:54.633 回答