JavaScript语言精髓(0)
“你的JavaScript怎么样啊?”我的项目经理问道。
“。。。还。。可以吧” 我回答。
这时是2006年,刚进这家公司才两个星期,也是我进的第一家公司。
“明天我带本书来,你把JavaScript恶补一下。”
第二天,一本《JavaScript权威指南》就拿在了我的手中。项目经理的目的是因为马上会有一个项目,这个项目是纯粹的JavaScript开发,这些当时我并不知道。
虽然这本书有1000多页,其实实实在在的知识只有前面400多页,后面将近600页只是参考手册而已,我记忆中好像是这个样子的。当时上班也看,回家也看,还边看边做笔记<JavaScript权威指南(笔记).doc>,保留至今。这本书写的非常好、容易懂,应该说讲的内容比较简单吧,除了关于对象的部分没有讲得很透彻,因为我没看懂。应作为JavaScript入门的第一本书。一个星期之后书已经看完了,我的感觉是--看这本书之前,我根本不懂JavaScript!
就这样迎来了我生涯中的第二个项目,嗯,其实只是一个功能---超级拖拽。
所谓超级拖拽就是把页面上一块块的区域通过鼠标的拖动放置到不同的地方。 当时非常流行这个东西,google,3172等都在各自网站中加入了这种特性。那么,接下来我要做的就是查看这些网站的源码,想尽一切办法把它们移植过来,你要我自己想,我死也想不出来。其实当时已经有现成的、专门用来实现拖拽的JS库,是一个德国公司开发的--德国是我猜的,因为当时他们的网站支持英语和德语的切换。但我并不能引用他们的JS库,这是不被允许的,我必须自己写。又一个星期之后功能完成了,还记得那天阳光格外明媚,手中揣着的U盘仿佛是我十月怀胎刚落地的孩子。
后来,我去了另一家公司,在这里又有人问我“你的JavaScript怎么样啊?” ,只是这一次等着我的不是项目,而是他遇到的问题。其实我对JavaScript的学习也仅仅只是在那两个星期和随着做项目获得的一些经验。JavaScript就是这样一门语言,当你了解了DOM,对JavaScript的学习可以宣告结束,剩下的事情交给实践去解决,应用JavaScript做项目是非常容易上手的,但是,一旦上手之后就会迎来一个瓶颈,很难在深入下去了,因为它的以原型继承为基础的对象系统和动态语言特性,很难和其他大语种做类比。当你能够用Java写出一种设计模式的范例,你也能很快写出一个C#版的,但是写出一个JavaScript版的又是另外一回事了。这里面存在一个很重要的东西,就是语言精髓。当有一天我了解到这些,我发现我仍然不懂JavaScript!