在24小时内学习jQuery +最佳实践

时间:2011-05-07 19:30:04

标签: jquery

这可能听起来不可能,但请继续阅读。

我需要学习jQuery以保持最新状态并能够说服雇主我能在不到2天的时间内处理它。

现在,我应该提一下,我实际上知道javascript。这有点模棱两可,但是 - 虽然我不是Doug Crockford - 我当然不是说我可以使用内联代码来切换元素的可见性。我甚至会说我非常熟悉MooTools,已经阅读了过去3年的源代码以及无数MooTools插件的源代码。

现在,通过帮助MooTools tag,我无意中拾取了很多jQuery代码。还有API文档页面,这很公平 - 只要我想使用DOM,AJAX,事件等,我就能找到自己的方式。这不是帖子的内容。

我正在寻找非常具体的资源和指南/ jQuery组织良好且编写良好的代码示例。例如,我感兴趣的事情(但不限于):

  • 与API有关的特殊情况,例如.bind!= ECMA bind
  • 限制,如元素属性(.attr?)+属性和其他陷阱的变通方法
  • 选择器性能(如果Sizzle与Slick不同)和......
  • ...缓存选择器 - 它是否有效,jQuery如何返回自身。
  • 关于可读性和写作的最佳实践,易于理解和理解意大利面条代码
  • 编写插件的最佳实践 - 如何构造,是否有任何通用/接受/首选命名法等,即jQuery等同于this mootools guide
  • 有没有更好的方法来处理经典OOP意义上的继承?我知道moo4q但我们假设我想在mootools的帮助下暂时这样做。是的,我知道我仍然可以使用纯javascript作为基本内容。
  • API中是否有任何特定的差异(除了++ changelog)我需要注意不同的jQuery版本之间?
  • GC。你做了什么,你删除事件,节点等?
  • 要避免的比特。例如,我看到ppl在twitter上抱怨元素存储很慢。
  • 关于构建适当的'企业级或近乎足够'的基于jQuery的_application__的建议(我知道,我知道 - Dojo,ExtJS,甚至是MooTools,但是jQuery可以实现,对吧?这么多人发誓它并声称已经完成了......)
  • 认为我需要阅读才能开始使用

考虑到这一点,我想要链接到SO上的教程或文章甚至帖子,这些文章可以涵盖所提到的领域和高级jQuery开发

一些由尊敬/知名作者撰写的选择插件也将受到赞赏,特别是那些在组织方式和易于扩展方面不同的插件。由于有这么多人可供选择,大多数人可能都没有超过hello spaghetti world阶段,因此我不想将它们作为基于我自己工作的例子。我不是在设计师投资的插件之后,因为它们有很好的效果,我想要漂亮的代码示例。

就是这样。任何帮助表示赞赏 - 将在周日开始阅读,并且需要能够编写一个可扩展的插件,比如几天前我在2-3小时内编写的mootools模式/灯箱类。我想将它转换为jQuery作为一种练习,而不是模块化/可扩展性:http://jsfiddle.net/dimitar/6creP/

提前致谢,我会尽力回复所有回复的人

4 个答案:

答案 0 :(得分:4)

你很幸运。同样的事情发生在我身上,并阅读了这本书 3天内“Jquery in Action, 2nd Edition”。这是一本很好的书。我想你可以在1天内完成所有jquery核心部分(超过本书的一半),这是最重要的一部分。

猜猜是什么。我得到了这份工作 :) (当我已经上班时,我学到了更多东西,但这足以表明我知道jquery嘿嘿)

答案 1 :(得分:3)

jQuery在为MooTools提供的内容方面非常相似,而在提供这些内容方面却截然不同。 MooTools是非常明确的,需要更深入地了解一些事情在幕后工作,而jQuery隐藏了这种复杂性。在我看来,隐藏复杂性遵循80-20原则,当抽象泄漏20%的时候,理解内部工作变得很重要。

熟练掌握MooTools应该可以让你轻松获取jQuery。这种显式行为的一些例子是jQuery如何在$保护伞下包装单个和多个元素,而MooTools为$$$提供了显式接口。

当使用JSONP对一个人自己的域或外部域进行AJAX调用时,jQuery通过$.ajax函数路由所有内容,而MooTools再次为RequestRequest.JSONP中的那些人提供单独的接口。

这两种方法都不好或坏,但重复使用大多数已经熟悉的相同界面会减少学习曲线。

深入jQuery的一些好资源将是,

  • John Resig的blog
  • jQuery的官方blog
  • Video介绍高级jQuery概念。
  • Hottest在StackOverflow上的jQuery答案

关于代码组织,大多数为jQuery编写的代码与MooTools非常不同。虽然MooTools使用对象的非常经典的风格,但jQuery代码主要是以DOM为中心的。因此,即使使用自定义插件,您也会将数据附加到DOM元素。要查看以DOM为中心的方法的几乎真实示例,您可以观看此answer中链接的视频。

我不会担心选择器引擎的性能,因为除非你为网络或其他东西编写Excel,否则它主要是红鲱鱼。

答案 2 :(得分:2)

jQuery基础知识,这本书,有许多在社区中受到尊重的贡献者,很容易在几天内被吸收并完全免费在线!

http://jqfundamentals.com/book/

答案 3 :(得分:1)

我自己对jQuery相对较新,对JS来说是一个总体菜鸟,我会说你有先机;)

你是如何使用CSS的? - 使用jQuery的CSS选择器引擎(Sizzle)如果你知道你的CSS就是小菜一碟,据我所知你可以使用“老式”;)JS也是

如果你知道你认为你会做的CSS“错误”,我也认为你会占上风,例如:使用jQuery的动画不是任何错误的神奇方法,但术语slideUp()hide()等确实使它变得容易..但如果一个效果会产生一个没有JS的CSS错误它仍然会做所以通过jQuery,也许像removeAttr() bug这样的东西可能是需要注意的东西,可以很容易地在JS中完成(如果你那样知识渊博)

我不知道你发现这种事情有多么容易或困难,但当我<罢工>学习填鸭式时,我倾向于查看所有问题(在这里和论坛上),无论如何“简单或基本“我认为它们是,然后通过粘贴代码并尝试其他答案,然后让搜索引擎指导我,你通常会找到根源并发现可以添加到你的知识工具箱中的发现

e.g。今天this question教会了我一些东西......我想这取决于你在2天内需要学到多少东西!祝你好运!!