这段时间一直在使用JS进行开发,其实我挺喜欢JS的,一个主要的原因就是自由。JS限制较少可以容易的实现自己的一些思想。或者换种说法,就是可以写出极其精简的代码,虽然精简不到LISP的水平,不过也相差不远了。还有一个好处就是很容易得到结果。在我眼里一个合格的JS程序员应该是这样的。
首先你要熟悉JS,不需要熟悉到变态的程度,但是一定要知道其优劣,知道其长处和短处。比如JS中的==
是有一些问题的。此外要知道JS没有块级的作用域,当然function的作用域是存在的。知道JS和DOM的区别、知道JS的基本对象、知道JSON,以及在JS里面怎么把对象和JSON之间相互转化、知道AJAX。
要知道JS是如何加载运行的,如何异步的加载运行。JS中异步的种类,也是需要知道的。同时要知道回调,以及为什么要用回调。要会写对象,能够使用字面值的方式来定义对象。
会使用chrome或者firebug来查看和调试代码,会使用console.log
而不是alert
来调试代码。要懂基本的HTML标签和CSS。因为如果你要写组件的话,一定需要用到HTML标签和CSS的,无法回避。一定要会用underscore,其实我喜欢JS的一个很大的原因就是我非常非常的喜欢underscore。我的代码里面是没有for循环的,因为不需要了。当然要是JS里面有一个recur
就更好的,可以自己实现一个。
此外我还觉得你起码要了解一些DOM对象,特别是document。我对于jquery到是不是很看重,因为其实DOM也挺完善的,而且DOM的面向对象的风格很鲜明,当然引入jquery可以抵消很多直接使用DOM的麻烦,但是我觉得还是需要权衡这样的必要性。
要知道AMD。
最后,要知道Nodejs。