jQuery标准和最佳实践

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

如果您使用Google的“jQuery最佳实践”,您可能会在search结果中find以下内容。 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

我个人开始做的事情是一种针对jQuery设置的Apps Hungarian Notation ,通过将这些variables前缀为$

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

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

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

在那些日子里,通常把你的点击处理程序放在标记中。 现在build议您不要在标记中写入JS代码,而是通过DOM事件包含它。

逐步增强

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

function检测,而不是浏览器检测

除了上述几点之外,我真的会把重点放在传达信息(打破预先设想的观念),即JavaScript是一种玩具语言。 我看到太多的开发人员认为这样,一切都从那里走下坡路。 你需要解释一下,JavaScript是一个非常强大的语言,为什么他们需要JS库(因为浏览器不一致),尽pipeJS本身非常强大。

祝你好运。

jQuery的工作方式与JavaScript的工作方式不尽相同,即使它们是一样的。 jQuery在CSSselect器上工作,就像类名和元素的id一样。 要在jQuery中select一个项目,你需要:

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

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

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

会影响附加到你的.yourClass所有项目。 一个提示:如果你打算访问$(this) ,你应该把它保存为一个局部variables:

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

因为它会加快你的function。