“JavaScript是一种基于原型、拥有垃圾回收机制的动态语言”——这个来自MDN文档的描述听起来非常高大上,但你可能想不到,创造它只花了10天。
1995年,Brendan Eich在网景通信公司用一种极速的方式写完了这门语言,最初叫Mocha,后来改成LiveScript,最终才定名JavaScript。从名字折腾的历程就能感觉到,这玩意儿一开始就没打算搞得多严肃。
打开网易新闻 查看精彩图片
但偏偏就是它,和HTML、CSS一起,成了网页开发三件套。HTML搭结构,CSS给样式,而JavaScript负责让人可以跟页面互动:点按钮有反应,填表单能反馈,动画能跑起来——这些都发生在用户浏览器里,也就是所谓的客户端逻辑。
如果你以为JavaScript只管浏览器里这点事儿,那就小看它了。在服务端,它同样能访问数据库、处理文件、搞定安全机制,然后给浏览器返回结果。一门语言两头通吃,而且还轻量、跨平台、单线程、解释执行,执行一行是一行,灵活得不像话。
它动态起来也毫不含糊——运行时可以随便构造对象,函数的参数数量可以不固定,甚至能把函数当变量传来传去。遇到eval还能把字符串当代码跑,想看看对象有啥属性,for...in伺候;函数自己的源码都能通过toString()再掏出来。这些花活让它既能写面向过程的脚本,也能玩面向对象和函数式。
当然,这门语言也有正经的规矩。它的标准叫ECMAScript,由ECMA-262和ECMA-402定义。某个浏览器一旦率先实现新特性,MDN文档就会立即跟上记录。所以别看它诞生得草率,这么多年下来,生态早就不靠运气运行了。
热门跟贴