掌握JavaScript的途径是什么?[关闭]


18

我知道我们是如何从JavaScript开始的,我们剪切并粘贴了代码片段以获取一些客户端功能或验证。

但是,如果您遵循这种方式尝试实现丰富的交互行为,那么不久之后您就会意识到自己正在创建一个“大泥浆球”。

那么,在交互层编程中寻求专业知识的途径是什么?哪些书籍,教程,练习和过程有助于编程强大,可维护的JavaScript?

我们都知道练习对任何努力都很重要,但我正在寻找与此处答案类似的路径:https : //stackoverflow.com/questions/2573135/


“交互层?”
罗伯特·哈维

1
我认为应该是一个新标签:P
Mike

1
答案是练习,就像您想掌握的其他任何领域一样。练习,向您的同龄人(技能更高的人)学习,我是否提到了练习。掌握编程语言x的过程与掌握编程语言y的过程相同,与掌握雕刻或钩针编织或任何其他行业相同。
克里斯,2010年

1
@johnny:当您可以从堆栈跟踪中捕获异常时…
TMN 2010年

1
@Chris-如果您点击我提供的链接,您会发现这样的问题可以得到有效回答。说“答案就是实践”没有帮助。沿着一条有用的道路指向一些地标,而不仅仅是告诉我开始走路。
埃里克·威尔逊

Answers:


15

阅读其他人的代码(很多),并试图了解他们在做什么,以及他们为什么这样做。编写自己的代码(很多),尝试新的概念和想法,首先玩得开心。变得更好的最好方法是练习,练习,然后再练习一些。

阅读书籍,教程,文章,博客,RSS提要等。

创建一些项目以在业余时间进行工作。如果您想不起什么,请找到您可能感兴趣的开源项目。

同样,不要气disc,最重要的是,记住“掌握”不是目的地,而是旅程-以自己的步调,尽情享受,欣赏风景。如果您认真地对待它,那么您将精疲力尽,这对任何人都没有好处。


7
我希望当有人问“如何学习/掌握X”时,它会自动回答。听起来很像是您掌握数学证明或完善小说的方式。查看其他人的X工作,实践X你自己,漂洗,重复- >硕士X.
克里斯-

@克里斯,是的。这几乎是我的标准答案。
Muad'Dib 2010年

虽然我可以说关于从哪里获得好的参考书/书籍/材料的问题是我喜欢的问题。最近承担了Python和我们有问题programmers.stackexchange.com/questions/12189/...我发现恒星让我离地面运行。
克里斯,2010年

@Chris是的,此答案更多是一般性建议,并且缺乏我认为客观的具体步骤。我也喜欢看链接。但这就是Google的目的吧?
Muad'Dib 2010年

是的,但是Google无法提供任何材料的反应/印象。Google做得很好,但并不能解决所有问题。同意不管。t
克里斯,2010年


3

首先,您需要了解学习JavaScript的目标。如果您只是想进行一些输入验证,并且使用户界面更容易一些,那么如果您使用的是jQuery之类的框架,那么您实际上并不需要对语言进行全面的深入了解。

就是说,如果您想对JavaScript有深入的了解,请尝试实现有用工具的现有框架编写扩展

在书籍和其他资源方面,我对实用书籍的了解并不多,一般而言,尽管我尝试解决问题并根据JSLint进行检查以确保我的代码干净,但是我已经学会了该语言。就学习语言而言,有趣的问题(例如,框架扩展),JSLint和足够的时间进行扎实的实践相结合可能是您最好的选择。


2

在您学习任何Web开发细节(DOM等)之前,请学习核心语言。您可以通过多种方式学习书籍,视频等。当然,您需要阅读和编写代码。

ECMAScript(这是语言标准的名称-javascript指的是几种实现)是一种非常有趣的语言。它是一种动态,功能强大且基于原型的面向对象语言,因此,您应该花些时间来理解这些范例的原理。

了解如何在浏览器中使用交互式控制台(在Chromium中,您可以通过按Ctrl+ Shift+ 来访问它J),该控制台类似于IRB和交互式Python解释器之类的工具。这对于测试语言功能和调试很有用。

使用JSLint对代码进行质量检查。

当您开始使用DHTML进行“真实”开发时,请使用诸如JQuery之类的框架来处理令人沮丧的跨浏览器问题,从而使您的生活更轻松。


1

尽管javascript有很多优点,但可以使用许多使程序员成为给定语言专家的许多技术,尽管它们可以使之发挥非凡的效果。我不得不使用javascript克服的最大障碍之一就是要取消我的“ C”编程思想,也就是说,将成千上万个微型函数局限在一个js文件中。

一些一般性建议是,只要有可能就抽象,并在组织一般行为时尝试形成类。为可以在您的其他js文件中发挥良好作用的任何功能(在合理的范围内)创建新的js文件,并尽可能避免使用全局变量。如果您还没有,我强烈建议您学习jQuery。这是我逐渐喜欢的一种工具,现在我将拥有它。它是javascript的一种非常灵活的扩展,它使您可以极大地简化代码,这对于简化代码以及快速高效地进行编码都是有好处的。jQuery带有一个大的插件库,它允许您执行许多操作,如果您在Flash中完成这些操作就不会给人留下深刻的印象。查看jQuery UI整个网站的主题系统,使您无需做任何事情就可以有效地修改网站的整个布局。随附了许多动画效果和方便使用的控件,这些控件通常在网站上使用(日期选择器,按钮,进度栏等),其中大多数可以使用一行JavaScript激活。

希望有帮助!


1

本质上,您在JavaScript中所做的许多事情都与DOM,CSS和浏览器兼容性相互交织,因此了解DOM是掌握JavaScript的主要要求之一。

学习语言的核心功能,例如基于原型的面向对象,匿名函数以及更通用的语言功能(例如循环,条件等),是理解您所阅读的,未与DOM / CSS专门交互的任何代码的关键。 。

您还将需要学习语言标准库,例如String和Math和其他核心对象函数。

如果您希望对事情的完成方式以及如何实现更高级的解决方案有一个真正而完整的了解,那么您还应该研究算法,这些知识是理解高级编程的基础,并且超越了特定于语言的语法。


1

阅读您正在使用的库的代码。阅读jQuery或Prototype资料将使您了解javascript和dom中实际发生的情况。图书馆使用的研究技术,以便您可以理解它们。通过阅读http://microjs.com/上的微型框架,随时开始。确保您查看的是实际来源,而不仅仅是分布式文件。(jQuery有十几个源文件,但是它们是由构建过程组装的。)


0

Javascript现在被应用在许多开发领域。

  • 它是现代浏览器中存在的唯一语言。
  • 由于使用了node.js和V8引擎,它可以在服务器上运行。
  • 它可以通过PhoneGap或其他替代品嵌入到移动设备中运行。
  • 它可以用来创建Windows 8应用程序。

因此,我相信会有更多的JavaScript知识。这取决于您要开始的工作,但是请放心,上述4项中的每一项都会给您带来不同的挑战-好的,也许窗口8和phonegap字段可能相似,但其余部分却不同-。

如果我们在谈论浏览器环境,那么了解几乎每个Web应用程序应如何组织可能是您可以继续进行的途径之一。我沿着那条路走,尝试了自己的想法,查看了流行的代码组织库(如dojo,boneer,ember等)的git repos。

如果我们在谈论节点js环境,那就另当别论了。我们与缩小和文件大小无关。在节点中创建整个应用程序,构建系统,站点,REST api,那里有很多东西可以发现。

如果我们在谈论移动世界,就会想到过度优化。CSS3加速了属性,动画,触摸事件,并尝试使用与Web相同的体系结构以及更专业的UI组件,这些都是很好的起点。

总而言之,就像其他人做出的回应一样,尝试自己的代码,并尝试其他人的代码是最好的参与方式,跟上新事物的发展,知道谁知道的最佳方法。

另一个有帮助的事情是在团队中工作,并了解您的方式与团队编写代码的方式之间的差异。在javascript开发人员团队中工作将迫使您编写更好的代码,并对其进行良好的记录。我认为没有比编写关于您打算实现或已经实现的内容的Wiki更好的了解应用程序体系结构的方法。


-1

我讨厌JavaScript,直到发现jQuery。现在,我爱它并一直使用它。可能太多了。


您讨厌DOM和跨浏览器的兼容性,而不是EcmaScript。
雷诺斯2011年

jQuery使Javascript变得有趣!+1
动态
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.