JS历史:

  1. 1995年,网景招募了[布兰登·艾克](https://zh.wikipedia.org/wiki/%E5%B8%83%E8%98%AD%E7%99%BB%C2%B7%E8%89%BE%E5%85%8B),目标是把[Scheme](https://zh.wikipedia.org/wiki/Scheme)语言嵌入到Netscape Navigator浏览器当中。但更早之前,网景已经跟[昇阳](https://zh.wikipedia.org/wiki/%E6%98%87%E9%99%BD%E9%9B%BB%E8%85%A6)合作在Netscape Navigator中支持[Java](https://zh.wikipedia.org/wiki/Java),这时网景内部产生激烈的争论。后来网景决定发明一种与Java搭配使用的辅助脚本语言并且语法上有些类似,这个决策导致排除了采用现有的语言,例如[Perl](https://zh.wikipedia.org/wiki/Perl)、[Python](https://zh.wikipedia.org/wiki/Python)、[Tcl](https://zh.wikipedia.org/wiki/Tcl)或Scheme。为了在其他竞争提案中捍卫JavaScript这个想法,公司需要有一个可以运作的原型。艾克在1995年5月仅花了十天时间就把原型设计出来了。

为了蹭JAVA的热度,取名javascript,最终提供标准取名为ECMAScript

由于windowsXP绑定IE6并且火遍世界(中国贡献最大),导致浏览器公司网景死亡,死之前开源了Firefox,由于过于无敌,把原IE6的程序员裁掉只留一人维护即可,Chrome抓住机会在2008年发布并迅速拿下1%市场份额,直到2016年已经拿下62%市场份额。

JS设计缺陷:

  1. 不适合开发大型程序
  2. 非常小的标准库
  3. null和undefined
  4. 全局变量难以控制
  5. 自动插入行尾分号
  6. 加号运算符
  7. NaN
  8. 数组和对象的区分
  9. == 和 ===

基本类型的包装对象

V8引擎

链接 v8解析

  • var 关键字
  • answer 标识符
  • = / * 运算符(符号)
  • 6 / 7 数值
  • ;分号(符号)

image.png