我知道我们是如何从JavaScript开始的,我们剪切并粘贴了代码片段以获取一些客户端功能或验证。
但是,如果您遵循这种方式尝试实现丰富的交互行为,那么不久之后您就会意识到自己正在创建一个“大泥浆球”。
那么,在交互层编程中寻求专业知识的途径是什么?哪些书籍,教程,练习和过程有助于编程强大,可维护的JavaScript?
我们都知道练习对任何努力都很重要,但我正在寻找与此处答案类似的路径:https : //stackoverflow.com/questions/2573135/
我知道我们是如何从JavaScript开始的,我们剪切并粘贴了代码片段以获取一些客户端功能或验证。
但是,如果您遵循这种方式尝试实现丰富的交互行为,那么不久之后您就会意识到自己正在创建一个“大泥浆球”。
那么,在交互层编程中寻求专业知识的途径是什么?哪些书籍,教程,练习和过程有助于编程强大,可维护的JavaScript?
我们都知道练习对任何努力都很重要,但我正在寻找与此处答案类似的路径:https : //stackoverflow.com/questions/2573135/
Answers:
阅读其他人的代码(很多),并试图了解他们在做什么,以及他们为什么这样做。编写自己的代码(很多),尝试新的概念和想法,首先玩得开心。变得更好的最好方法是练习,练习,然后再练习一些。
阅读书籍,教程,文章,博客,RSS提要等。
创建一些项目以在业余时间进行工作。如果您想不起什么,请找到您可能感兴趣的开源项目。
同样,不要气disc,最重要的是,记住“掌握”不是目的地,而是旅程-以自己的步调,尽情享受,欣赏风景。如果您太认真地对待它,那么您将精疲力尽,这对任何人都没有好处。
很少掌握JS
您认为每个程序员都应该知道JavaScript的哪些“ 隐藏功能 ”?
高级JavaScript面试问题
学习JavaScript的最佳资源 -Douglas Crockford的JavaScript视频
您应该了解的6种高级JavaScript技术
在您学习任何Web开发细节(DOM等)之前,请学习核心语言。您可以通过多种方式学习书籍,视频等。当然,您需要阅读和编写代码。
ECMAScript(这是语言标准的名称-javascript指的是几种实现)是一种非常有趣的语言。它是一种动态,功能强大且基于原型的面向对象语言,因此,您应该花些时间来理解这些范例的原理。
了解如何在浏览器中使用交互式控制台(在Chromium中,您可以通过按Ctrl+ Shift+ 来访问它J),该控制台类似于IRB和交互式Python解释器之类的工具。这对于测试语言功能和调试很有用。
使用JSLint对代码进行质量检查。
当您开始使用DHTML进行“真实”开发时,请使用诸如JQuery之类的框架来处理令人沮丧的跨浏览器问题,从而使您的生活更轻松。
尽管javascript有很多优点,但可以使用许多使程序员成为给定语言专家的许多技术,尽管它们可以使之发挥非凡的效果。我不得不使用javascript克服的最大障碍之一就是要取消我的“ C”编程思想,也就是说,将成千上万个微型函数局限在一个js文件中。
一些一般性建议是,只要有可能就抽象,并在组织一般行为时尝试形成类。为可以在您的其他js文件中发挥良好作用的任何功能(在合理的范围内)创建新的js文件,并尽可能避免使用全局变量。如果您还没有,我强烈建议您学习jQuery。这是我逐渐喜欢的一种工具,现在我将拥有它。它是javascript的一种非常灵活的扩展,它使您可以极大地简化代码,这对于简化代码以及快速高效地进行编码都是有好处的。jQuery带有一个大的插件库,它允许您执行许多操作,如果您在Flash中完成这些操作就不会给人留下深刻的印象。查看jQuery UI整个网站的主题系统,使您无需做任何事情就可以有效地修改网站的整个布局。随附了许多动画效果和方便使用的控件,这些控件通常在网站上使用(日期选择器,按钮,进度栏等),其中大多数可以使用一行JavaScript激活。
希望有帮助!
阅读您正在使用的库的代码。阅读jQuery或Prototype资料将使您了解javascript和dom中实际发生的情况。图书馆使用的研究技术,以便您可以理解它们。通过阅读http://microjs.com/上的微型框架,随时开始。确保您查看的是实际来源,而不仅仅是分布式文件。(jQuery有十几个源文件,但是它们是由构建过程组装的。)
Javascript现在被应用在许多开发领域。
因此,我相信会有更多的JavaScript知识。这取决于您要开始的工作,但是请放心,上述4项中的每一项都会给您带来不同的挑战-好的,也许窗口8和phonegap字段可能相似,但其余部分却不同-。
如果我们在谈论浏览器环境,那么了解几乎每个Web应用程序应如何组织可能是您可以继续进行的途径之一。我沿着那条路走,尝试了自己的想法,查看了流行的代码组织库(如dojo,boneer,ember等)的git repos。
如果我们在谈论节点js环境,那就另当别论了。我们与缩小和文件大小无关。在节点中创建整个应用程序,构建系统,站点,REST api,那里有很多东西可以发现。
如果我们在谈论移动世界,就会想到过度优化。CSS3加速了属性,动画,触摸事件,并尝试使用与Web相同的体系结构以及更专业的UI组件,这些都是很好的起点。
总而言之,就像其他人做出的回应一样,尝试自己的代码,并尝试其他人的代码是最好的参与方式,跟上新事物的发展,知道谁知道的最佳方法。
另一个有帮助的事情是在团队中工作,并了解您的方式与团队编写代码的方式之间的差异。在javascript开发人员团队中工作将迫使您编写更好的代码,并对其进行良好的记录。我认为没有比编写关于您打算实现或已经实现的内容的Wiki更好的了解应用程序体系结构的方法。