我将CSS / XHTML编码为应该是我的母语,并且我按照可访问性指南等编写有效的语义代码。
但我想学习Unobtrusive JavaScripting,但是我需要一些非程序员的大脑,我需要一些动力/技巧/等等,比如学习它的最佳方式,以及它需要花多长时间?你能感受到知识的力量吗? :)
PS:我对JavaScript的工作方式有所了解并改变了DOM等等。我认为它更多的是通过头部学习语法而不必查找它。
答案 0 :(得分:4)
只需使用它。真的,你花在阅读和写作语言上的时间越多,它就越自然。使用Firebug或等效的控制台来测试简短的想法;获取现有的Web页面并从命令行以交互方式连接事件,习惯于将行为代码编写为与编写标记分开的过程。
如果你想要一本好书,我可以推荐优秀的jQuery in Action - 是的,它针对的是jQuery用户,但无论你选择哪种库,这些概念都适用。
答案 1 :(得分:3)
动机,抱歉无法帮助那里。
语法由死记硬背学习。规则很简单,而且相当一致,所以实际上语法并不那么难。
您与语法混淆的可能是其他方面,例如哪些对象可用的属性,要调用的函数,框架提供的内容。再次,这基本上是死记硬背。
许多框架通过巧妙地使用JavaScript语法添加了一些语法,你也需要学习它们。
但是当它归结为它时,学习这些东西的唯一方法就是使用它。
你不能读它,你必须这样做。
找到您要处理的问题,网站的功能或其他任何内容,以及攻击它。
如果您发现教程或其他任何符合您要求的内容,请在代码中键入,不要剪切和粘贴它。当您输入内容时,请对每个符号或字符进行质疑,尝试了解您输入所键入内容的原因。
努力改变事物,即使它只是变量名称,因为这样你就能更好地了解用于什么的东西,以及它们是如何被引用的。它还可以让您专注于较大程序的一小部分。
如果您将“window1”变量更改为“myWindow”,那么至少您可以将代码视为“blah blah blah window1 blah blah window1”而无需了解所有内容。
从小处着手,不要担心“做得对”等等,就像成功一样。如果它完成的方式不会打扰你,那么你就是好的。如果你看一下然后去“那不太对劲”因为你在开始后学到了什么,那就回去清理它。
在这个阶段,功能大于形式。很多形式都来自经验。
答案 2 :(得分:2)
取决于你想做什么。您是一位成功的网页设计师,正在考虑进入开发方面吗?开拓进取,但谨慎行事。 JavaScript可以很容易地开始,但它可以很快变得丑陋。它与任何服务器端语言(包括Java)都有很大不同。您的一些JavaScript技能将转换为其他语言(例如,条件和控制流操作符)。但是有些东西是JavaScript独有的,如果你转向另一种语言则需要重新学习。
此外,除非你做了面向对象的开发,否则JavaScript中的一些东西是不完全有意义的;即使JavaScript是“基于原型”而不是严格面向对象,如果没有与OO概念相关联,原型系统可能难以理解。如果你对不同的打字系统没有很多经验(静态与动态,显式与隐式),打字系统也没有多大意义。
使用像jQuery或YUI这样的好框架,但一定要了解幕后发生的事情。 Shog9建议使用FireBug也是一个很好的建议。它将向您显示正在进行的操作(无需在代码中执行大量alert()语句)。
您的HTML DOM和CSS体验将有所帮助,但仅限于理解JavaScript尝试做什么。手工编写HTML和CSS无助于您学习编写JavaScript; HTML和CSS是文档标记语言,而不是命令式编程语言。
所以去吧,但不要指望它很容易。你可能会取得很多快速进展,但却发现你并没有像你想象的那么远,而且事情并没有像现在这样发挥作用。但是经过充分的努力和研究,你可能会到达那里。
答案 3 :(得分:1)
我认为如果你已经准备好做HTML和CSS,学习Javascript是个好主意。 Javascript是一种很酷但又古怪的语言。大多数使用的人并不真正知道如何编写好的JS代码。我强烈建议您观看Douglas Crockford视频,请参阅http://video.yahoo.com/watch/111593
他们将在Javascript上提供真正的独家新闻。
答案 4 :(得分:1)
我之前已经推荐JavaScript: The Good Parts(并且不能足够推荐它),但如果您不熟悉编程我建议从Head First JavaScript开始。
(来源:oreilly.com)
答案 5 :(得分:0)
我认为你已经获得了丰富的答案和资源,但我也想加入,因为我已经看到了一些jQuery建议:
我也喜欢jQuery,几乎每天都使用它。也就是说,对于一个初学者,我建议您在使用javascript之前适应第一次。熟悉语法,变量,范围以及至少一些DOM概念将极大地提高您对如何使用jQuery执行所需操作的理解。如果你试图超越基础速度,你肯定会陷入一些常见的误解,即jQuery无法帮助你。
答案 6 :(得分:0)
http://codeavengers.com 1级JavaScript对于完整的初学者来说非常棒。我创建了这些课程,并且从初学者那里获得了很多很好的反馈,他们认为我的课程是一种有趣而有效的学习JavaScript的方式。