很多其他语言的开发者或一些初学者对 JavaScript 的印象似乎停留在做各种“炫彩夺目的网站”上。的确,能够完成 Web 端复杂的交互,使得网页元素能够“动起来”,让信息以更佳效果呈现,这是 JavaScript 的功能之一;但它的实际应用场景远不止于此,一名专业前端开发工程师在工作中至少要使用 JavaScript 进行以下任务的开发。
在海量信息爆炸的时代,网站不仅要呈现必要的关键信息,还要以最佳方式与用户之间进行动态交互,加深用户对网站信息或功能印象,并提高用户体验和黏度。因此,更多网站的开发者们精心研发了某些表现力丰富的交互效果,例如以培训“前端开发”为主的妙味课堂官网,就在首页制作了一个形象的“展台”,并用动画堆叠的形式将前端必学的“HTML5\CSS3\JS”组合在一起。
如图 1 所示,象征着学习前端开发最关键的基础语言是 HTML5\CSS3\JS。
前端开发者每天要处理的大量编码工作中,占据很重比例的工作内容之一是根据后端提供的各种数据接口,把数据渲染到网页相应位置中,完成页面信息呈现。例如经典的登录和注册功能,当登录时会调用后端相应接口判断登录用户是否正确,而注册时会判断填写的用户名是否符合要求以及是否已被注册过。
在今天,许多内容型网站有大量用户关注,在这样的网站中,许多业务逻辑需要开发者使用 JavaScript 来实现。比如网站的使用者当中,有游客、普通会员,也有VIP会员,这几种不同类型的用户在权限上需要加以区分:游客、普通会员、VIP 会员能观看的视频是不同的。在这样的需求下,网站内容展示需要根据不同的业务需求进行逻辑判断,这样才能在页面中呈现不同内容。这些功能,都需要开发者使用 JavaScript 做出判断处理。
除上述几个任务以外,JavaScript 还可以变成运行在服务器上的后端开发语言(Node.js)以及能以 Hybrid App 形式运行在移动设备上的 App 开发语言。此外,还能够用来构建桌面应用、开发游戏、图形处理、PDF 生成、编译解释器、测试工具、视频音频播放、通信……限于本教程篇幅,在此不对这些展开介绍。