2009-08-07 80 views
61

我目前负责为我们公司内的Web开发人员社区推出jQuery的使用。其中一部分涉及展示课程,然而另一部分涉及标准和最佳实践。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

回答

42

您可以StackOverflow.com

jQuery pitfalls to avoid

非常有趣有用的提示一前一后在这里找到这个热门话题。

这里有更多一些,我发现在我的书签:

+2

有趣的链接,谢谢。我意识到这个话题非常相似,但是我仍然对从类似于自己角度的人的角度对这些反应感兴趣。此外,标题不适合在搜索时使用有用的链接,但随着时间的推移可能会弹出(并引用其他主题,现在您已将它添加进去!) – 2009-08-07 16:22:52

+1

btw,我刚刚找到一个有趣的链接(a jQuery实验操场)commadot.com/jquery如果你去链接后链接,你可以学到很多... – adardesign 2009-12-21 17:15:32

+0

多一个链接http://lab.abhinayrathore.com/jquery-standards/ – FDisk 2016-02-01 15:07:46

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

,因为它会加快您的功能。

+17

-1。我不喜欢这种说法“jQuery的工作方式与JavaScript的工作方式不一样”。 jQuery是JavaScript。我将其称为'DOM操作的vanilla JS代码与DOM操作的jQuery JS代码之间存在区别。“ – SolutionYogi 2009-08-07 17:00:38

+3

....除了它是真的。我提到他们是一样的,但jQuery抽象了很多你需要做的w/javascript的废话。所以虽然可以在w/jQ中混合使用js,但它们的工作方式并不一样,并且很多JS开发人员都会像编写JS代码一样编写JQ代码。 – Jason 2009-08-07 17:16:13

+6

我完全理解jQuery和JavaScript的工作原理。我反对这句话是如何表达的,恕我直言,它不正确。 – SolutionYogi 2009-08-07 17:23:46

27

东西我亲自开始做的是排序的Apps Hungarian Notation为jQuery的设置,由前缀这些变量与$

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

我发现,当我的jQuery的片段增长,这将成为非常宝贵的,不仅在推广存储jQuery的设置作为变量的,而是帮助我跟踪哪些变量实际上是 jQuery集合。

12

非侵入式JavaScript(标记和行为的分离)

早在天,是很普遍的把你单击处理标记内。现在建议您不要在标记中写入JS代码,而是通过DOM事件包含它。

渐进增强

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

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

保持上述几点之外,我真的专注于输送消息(打破先入为主的概念)JavaScript是一种玩具语言。我看到太多的开发人员认为这种方式,一切都从那里走下坡路。你需要向他们解释JavaScript是一种非常强大的语言,为什么他们需要一个JS库(因为浏览器不一致),尽管JS本身非常强大。

祝你好运。

+1

贾森,对不起,但你能指出我在哪里写jQuery的工作方式不同于JavaScript?事实上,我在答案中甚至没有提到jQuery。 – SolutionYogi 2009-08-07 18:54:13

+0

你真的认为“JavaScript是一种玩具语言”,或者是一个错字? – 2013-03-31 04:18:42