1.2 在JavaScript特效中迷失

个人网站热给中国的互联网行业积累了丰富的人才,现在很多有名的网站都是从那一轮的网站热中成长并壮大起来的,如hao123、手机之家等。这一轮的个人网站热潮对互联网知识的普及起着重要的推动作用,也为Web开发积累了一批技术人才。JavaScript作为此次热潮中重要的技术也得到了充分发展,并且几乎出现在所有的个人网站上,不是因为表单验证,而是因为JavaScript特效。

JavaScript特效是一个很笼统的说法。如果以“JavaScript特效”作为搜索关键词在百度上进行搜索的话,会发现成千上万的专门收集或整理JavaScript特效的网站,在这些网站上,JavaScript特效会被分门别类地进行排列,并且提供源码展示、效果预览等功能。

通过对这些网站上JavaScript特效的了解与分析后认为,所谓的JavaScript特效就是JavaScript通过与BOM、DOM、CSS等元素的交互来实现的某种功能、交互效果或者视觉效果。在以上的表述中,JavaScript特效包括了功能、交互效果与视觉效果3个部分;但从字面的狭义上来理解,JavaScript特效只应包括交互效果与视觉效果。因为如果确实实现了某种功能,那么就应该属于功能范畴,不应该属于效果范畴。本书在此做一个约定:书中提到的JavaScript特效特指JavaScript提供的交互效果与视觉效果,与功能无关。

通常来说,对刚拥有个人网站的站长来说,并不会一开始就能理解网站最吸引人的地方不是内容,而是花了很多心思实现的漂亮独特的界面。并且为了实现更炫目的界面效果,大量使用JavaScript特效,使整个网站看起来十分花哨与绚丽。而要想实现比较花哨与绚丽的JavaScript特效,对普通的个人网站开发者来说,在技术上还是比较有难度的,所以网络成了这些JavaScript特效最重要的一个来源,复制、粘贴成为了个人网站的站长们实现JavaScript特效的重要手段,因此也诞生了许多JavaScript特效网站。而有此技术能力的JavaScript开发者,为了满足这种现实存在的需求,又会开发出更多更花哨与绚丽的JavaScript特效。

这就形成了两个严重的后果:第一,刚接触JavaScript的人,以为JavaScript只能用来实现这些特效,而无其他实际用途;第二,有技术能力的JavaScript开发者,将精力过多地投入到JavaScript特效的开发中。这两个后果都导致了很少有人对JavaScript特效以外的应用领域展开探索,并且形成了很多人长期以来对JavaScript的偏见,从而严重阻碍了JavaScript在Web开发中的应用与发展。

很多从那个阶段成长起来的Web开发者对JavaScript不屑一顾,认为其除了能做一点表单验证和一点花架子外再没有其他用途;甚至很多Web开发者认为,对于JavaScript,只要掌握一点简单的表单验证就可以了,其他的没必要了解,因为没有实际用处;更有甚者,拒绝承认JavaScript是一种开发语言。而曾经执迷于JavaScript特效开发中的JavaScript的先驱们,也在JavaScript特效日渐落魄时转投他家了。

在JavaScript特效中迷失的JavaScript,虚度了好几年默默无为的时光。