20-【JS全解】JavaScript 的诞生

开始于网景公司

  • 1993年,最早流行接口浏览器NCSA Mosaic
  • 1994年,第一个版本的网页浏览器Mosaic Netscape0.9发布,
    四个月占据3/4的市场
  • 1995年,此时sun公司大力宣传Java,网景公司招募布兰登·艾克,
    目标是把Scheme语言嵌入到Netscape Navigator浏览器当中,
  • 1995年5月,布兰登·艾克花了十天时间把原型设计出来
    最初命名Mocha
  • 1995年9月,Netscape Navugator2.0改名为LiveScript
  • 1995年12月,改名为JavaScript
  • 1996年,微软推出JScript竞争,微软向window系统中嵌入IE浏览器
  • 1996年11月,为了压制微软,网景公司向ECMA(欧洲计算机制造者协会)捐了JavaScript为开源,提交了语言标准,ECMA以ECMAScript制定规范ECMA-262

JavaScript设计思路

总的来说,他的设计思路是这样的:

(1)借鉴C语言的基本语法;

(2)借鉴Java语言的数据类型和内存管理;

(3)借鉴Scheme语言,将函数提升到"第一等公民"(first class)的地位;

(4)借鉴Self语言,使用基于原型(prototype)的继承机制。
所以,Javascript语言实际上是两种语言风格的混合产物----(简化的)函数式编程+(简化的)面向对象编程。这是由Brendan Eich(函数式编程)与网景公司(面向对象编程)共同决定的。

JavaScript设计缺陷缘由

  • 设计初衷,实现简单的网页互动,只用了十天草草设计
  • 结合了函数式编程和面向对象编程的特点,直到现在,任然是世界上唯一使用prototype继承模型的主要语言
  • Javascript推出一年半之后,国际标准就问世了。设计缺陷还没有充分暴露就成了标准。相比之下,C语言问世将近20年之后,国际标准才颁布

JavaScript设计缺陷

  • 不适合做大型程序,很难模块化
  • 非常小的标准库
  • null是对象 为空 underfinded为数据类型 未定义 设计的非必要性
  • 全局变量在任何函数内部可生成
  • 忘记加分号会自动添加,很容易搞错
  • 加号运算符作用:做运算或在两边不同类型时转换成相同类型并连接
  • NaN是一种数字,但是
 NaN === NaN; //false

NaN !== NaN; //true

alert( 1 + NaN ); // NaN
  • 数组属于对象,不易判断一个对象是否为数组
  • 判断==时,类型不同会自动转换
  • 基本类型包装对象
 alert( typeof 1234); // number

alert( typeof new Number(1234)); // object

JavaScript长久不衰的重要事件

  • chrome的Js引擎V8快如闪电
  • 2004年,谷歌发布Gmail在线网页 原来网页只能浏览 不能提交等
  • 2005年,把谷歌的用的技术命名为AJAX
  • 2006年,JQuery发布,稳定十几年
  • 2009年,基于chrome的V8创建Node.js
  • 2010年,基于Node.js写出了npm,前端可以在浏览器之外执行js
  • 同年,TJ受到启发,发布了Express.js,前端可以编写后端应用

js是历史的选择,必定有其长久不衰的意义
参考:
JavaScript 的历史
JavaScript 诞生记
JavaScript 的10个设计缺陷

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值