jQuery 标准和最佳实践

IT技术 javascript jquery code-standards
2021-03-08 15:57:25

我目前负责向我们公司内的 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个回答

你可以在 StackOverflow.com 上找到这个热门话题

要避免的 jQuery 陷阱

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

这是我在书签中发现的更多内容:

2021-04-23 15:57:25
顺便说一句,我刚刚发现了一个有趣的链接(一个 jQuery 实验游乐场)commdot.com/jquery 如果你去一个又一个链接你可以学到很多东西......
2021-05-05 15:57:25
有趣的链接,谢谢。我意识到这个话题非常相似,但是我仍然对那些与我处于相似位置的人的反应感兴趣。此外,标题在搜索时不适合作为有用的链接,而随着时间的推移,这很可能会弹出(并参考其他主题,现在您已经添加了它!)
2021-05-17 15:57:25

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

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

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

Unobtrusive JavaScript(标记和行为的分离)

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

渐进增强

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

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

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

祝你好运。

Jason,对不起,你能指出我在哪里写的 jQuery 与 JavaScript 的工作方式不同吗?事实上,我什至没有在我的回答中提到 jQuery。
2021-04-24 15:57:25
你真的认为“JavaScript 是一种玩具语言”还是错别字?
2021-05-09 15:57:25

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);
});

因为它会加速你的功能。

我彻底了解 jQuery 和 JavaScript 的工作原理。我对这句话的措辞有异议,恕我直言,它读起来不正确。
2021-04-27 15:57:25
-1. 我不喜欢这样的说法“jQuery 的工作方式与 JavaScript 的工作方式不同”。jQuery 是 JavaScript。我会说它是“用于 DOM 操作的普通 JS 代码与用于 DOM 操作的 jQuery JS 代码之间存在差异”。
2021-05-14 15:57:25
....除非它是真的。我提到它们是一回事,但 jQuery 抽象了很多你需要用 javascript 做的废话。因此,虽然您可以在 w/jQ 中混合使用 js,但它们的工作方式并不相同,而且许多 JS 开发人员尝试以与编写 JS 代码相同的方式编写 JQ 代码。
2021-05-17 15:57:25