谷歌技术专家关于JavaScript的一个引人注目的观点
谷歌的一位技术专家曾经和我分享过关于 JavaScript 的一个引人注目的观点:它不是真正的内聚编程语言——至少不是正式意义上的内聚编程语言。 ECMA-262规范定义了JavaScript,但没有一个真正的实现。更重要的是,这种语言远非封闭的。 它游走在一个名副其实的相邻规范的海洋中,这些规范管理着 JavaScript 涉及的所有 api: DOM、网络请求、系统硬件、存储、事件、文件、加密,以及数百种其他规范。Web浏览器及其各种 JavaScript 引擎都按照它们认为合适的方式实现这些规范。 Chrome 有 Blink/V8, Firefox 有 Gecko/SpiderMoney, Safari 有 WebKit/JavaScriptCore。 浏览器将以符合规范的方式运行几乎所有的 JavaScript,但 web 上到处都是每种浏览器特性的示例。因此,JavaScript被更准确地描述为一组浏览器实现。尽管 web 纯粹主义者可能坚持认为 JavaScript 不应该是 web 页面的组成部分,但他们必须承认,如果没有它,现代 web 将会严重退化。 可以毫不夸张地说,JavaScript 实际上是不可避免的:手机、电脑、平板电脑、电视、游戏机、智能手表、冰箱,甚至汽车现在都有运行 JavaScript 的 web 浏览器