JavaScript 的简史

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_16566415/article/details/78252300

JavaScript的诞生

命名:JavaScript 最初不是叫JavaScript,而是LiveScript
Javascript虽然带有Java前缀,但是和Javascript半毛钱关系都没有,当时Netscape和Sun 公司建立了一个开发联盟,并且当时Java 太火爆,为了搭上这趟顺风车,蹭一下热度,改了名字。
初衷:为了解决表单验证而频繁的与服务器交换数据。
试想,用户填写完了一个表单,点击提交,等待30秒后,最终服务器返回消息说,你有一个必填字段没有填……是不是分分钟有关闭页面的冲动
计划人:兰登·艾奇(Brendan Eich),为了赶上开发进度,当时Netscape 和 Sun 建立一个开发联盟
公司:Netsacpe(网景公司,旗下的网景浏览器占了市场很大份额)
时间:1952年2月,Netsacpe Navigator 2正式发布的时候

JavaScript 的统一历程

  • 1952年2 月, JavaScript 1.0
    也就是在Netscape Navigator 2 正式发布的时候。发布后,取得巨大成功

  • Netscape 在 Netscape Navigator 3 中发布JavaScript 1.1
    这时候Netscape 公司因为JavaScript 的备受关注,将自己定位为市场领袖型公司

  • 诸侯割据。1996年8月微软在自家IE 3 中加入名为JScript 的JavaScript 实现
    JavaScript 的大热,大名鼎鼎的微软也想分一杯羹。
    JScript 为了避免Netscape授权问题,换个马甲,改下名字
    一直在模仿,从未被超越的微软后来居上,依靠自身庞大的Windows用户群,迅速占领市场。
    不过微软的加入使得JavaScript的开发迈进了一大步,标志着JavaScript成为了一门语言

  • 制定标准。1997年JavaScript 作为蓝本提交给了ECMA,数月后,ECMA指定的TC39定义了新的标准脚本语言——ECMA-262
    ECMA(European Computer Manufacture Association)欧洲计算机协会
    TC39(Technical Committee #39)39号技术委员会,来自Netscape、Sum,微软、Borland及其他关注脚本语言发展的公司的程序员
    ECMA指定TC39负责“标准化一种通用、跨平台、供应商中立的脚本语言的语法和语义”

  • 天下一统。1998年,ISO/IEC 采用了ECMAScript 作为标准,即ISO/IEC-16262
    ISO-IEC(International Organization for Standardization and International Electrotechnical
    Commission,国标标准化组织和国际电工委员会)
    从此各大浏览器厂商将ECMAScript 作为各自JavaScript 实现的基础

简述JavaScript的实现

通常上JavaScript 和ECMAScript 被人们用来表达相同含义,但是JavaScript的含义却比ECMA-262 中规定的多得多。

JavaScript 有三部分组成:

  • 核心(ECMAScript,T39制定的标准)
  • DOM(Document Object Model,文档对象模型)
  • BOM(Browser Object Model,浏览器对象模型)

ECMAScript

ECMA-262 标准没有参照Web 浏览器,它规定的内容如下

  • 语法
  • 类型
  • 语句
  • 关键字
  • 保留字
  • 操作符
  • 对象

ECMAScript 的版本

  • 第一版本质上与Netscape 的JavaScript 1.1 相同
    区别是:
    1.ECMAScript 要求只是Unicode 标准,从而支持多语言开发
    2.对象变成了平台无关的,(例如Netscape JavaScript 1.1中Date 对象在不同平台表现不一样)
  • 第二版主要是编辑加工的结果
    为了与ISO/IEC-16262 保持严格一致,没有作任何新增、修改或删节处理。
  • 第三版才是对标准的第一次真正的修改
    修改的内容涉及字符串处理、错误定义和数值输出
    新增了对正则表达式、新控制语句、try-catch 异常处理的支持
    国际化修改
    第3 版标志着ECMAScript 成为了一门真正的编程语言
  • 第4 版对这门语言进行了一次全面的检核修订,最终在发布前被放弃
    包含了强类型变量、新语句和新数据结构、真正的类和经典继承
    定义了与数据交互的新方式
    同时T39 下属的一个小组认为 第4版跨度太大,并ECMAScript 3.1 的替代性建议,只是进行较小的修改。这个提议的支持超过TC39 ,第4版在发布前被废弃。
  • 第5版,也就是TC39 下属的小组提出的ECMAScript 3.1,2009年12月3日正式发布
    澄清第3版中已知的歧义
    添加新功能:原生JSON对象,继承的方法,高级属性定义,严格模式
    对ECMAScript 引擎解释和执行代码进行了补充说明

ECMAScript 兼容

ECMA-262 给出了ECMAScript 兼容的定义

  • 支持ECMA-262 描述的所有“类型、值、对象、属性、函数以及程序句法和语义”(ECMA-262
    第1 页);
  • 支持Unicode 字符标准。
    此外,兼容的实现还可以进行下列扩展。
  • 添加ECMA-262 没有描述的“更多类型、值、对象、属性和函数”。ECMA-262 所说的这些新增
    特性,主要是指该标准中没有规定的新对象和对象的新属性。
  • 支持ECMA-262 没有定义的“程序和正则表达式语法”。(也就是说,可以修改和扩展内置的正
    则表达式语法。)

Web 浏览器对ECMAScript的支持

支持

DOM

文档对象模型(DOM,Document Object Model)是针对XML 但经过扩展用于HTML 的应用程序编
程接口(API,Application Programming Interface)。DOM把整个页面映射为一个多层节点结构。HTML或XML 页面中的每个组成部分都是某种类型的节点,这些节点又包含着不同类型的数据。

BOM

  • 弹出新浏览器窗口的功能;
  • 移动、缩放和关闭浏览器窗口的功能;
  • 提供浏览器详细信息的navigator 对象;
  • 提供浏览器所加载页面的详细信息的location 对象;
  • 提供用户显示器分辨率详细信息的screen 对象;
  • 对cookies 的支持;
  • 像XMLHttpRequest 和IE 的ActiveXObject 这样的自定义对象

由于没有BOM标准可以遵循,因此每个浏览器都有自己的实现

JavaScript 的版本

作为Netscape“继承人”的Mozilla 公司,是目前唯一还在沿用最初的JavaScript 版本编号序列的浏
览器开发商
这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_16566415/article/details/78252300
今日推荐