这个问题对于不同人的答案是不一样的。对于编程老手来说,学习JavaScript可能只需要看看reference、看看一些脚本库的源码,有疑难再上上stackoverflow或知乎之类的地方就可以了。
学习Javascript,首先它和Java的关系不大,所以不需要Java基础也可以,但至少要有html基础,否则即使学习了,也不知道怎么使用更好,更有效。学习html比较容易,如果要求不太高,之后可以适当看一下css和div。
需要恒心。
JS不是那么好学的,本身语言设计的时候就有很多不可思议的地方,像self,像C,像Java,要理解它的编程思想并不容易,闭包,原型神马的不容易。
而且不同浏览器引擎的实现不一,会导致很多语言外要注意的问题,特别是IE。用的时候会有很多雷,时不时中个雷是很正常的。所以,学习需要恒心去克服。当然你如果没有编程基础,那些雷对你来说可能不是雷。
需要看好书。
《JavaScript权威指南》,书如其名,的确是权威。当然,这书很厚,而且也不是所有地方都讲得好的(对象类型那块我就被坑了,直到看了愚公的博文才醒悟过来)。
但是这书起码让你对JS的方方面面有个完整的了解。《Pro JavaScript》也是一本好书。《the good parts of JavaScript》是一本很重要的书。一本坏书会教你很多不好的编程习惯,包括不写分号,乱搞全局变量等等傻逼行为。