Javascript 简介

作者: Sue1024 | 来源:发表于2018-01-26 23:46 被阅读68次

    Javascript简史

    背景

    在一个网速巨慢、网页大小和复杂度不断增加的年代,人们逐渐对如下流程失去耐心:
    网页中输入数据——提交表单——服务端校验——(maybe 30s later)网页提示输入有误——修改并重新提交
    像这种简单的校验操作如果能在前端完成将明显提升用户体验,于是Netscape公司的Brendan Eich开发了一种名为Javascript的脚本语言,在1995年2月份与Netscape Navigator 2一同发布。可见Javascript是专门为与网页交互而设计的语言。
    1996年8月,微软的Internet Explorer 3 加入了名为JScript的Javascript实现。
    1997年,以Javascript1.1为蓝本的ECMA-262现世,定义了一个名为ECMAScript的新脚本语言标准。

    Javascript组成

    ECMAScript

    ECMAScript是独立的脚本语言,与Web没有关系,事实上,Web、Node、Adobe Flash在ECMAScript的基础上进行了扩展,构建了更完善的脚本语言,它们都是ECMAScript的宿主环境。
    那么ECMAScript的语言体系都规定了什么呢?

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

    第一版就是在javasccript 1.1的基础上剔除了所有与浏览器相关的代码(实现与平台无关),并做出一些修改(比如支持Unicode标准)
    第二版主要是编辑加工,为了保持与ISO/IEC-16262严格一致
    第三版做了一次真正的修改,是ECMAScript成为一门真正的编程语言
    第四版已被放弃,由于跨越较大
    第五版是第四版的替代版ECMAScript 3.1,增加了原生JSON对象、严格模式等等

    兼容

    要想成为ECMAScript的实现,需满足以下条件:

    1. 支持ECMA-262语言体系规定的所有内容
    2. 支持Unicode字符标准
      可进行一下扩展:
    3. 添加标准中没有规定的新对象或对象的新属性
    4. 支持ECMA-262没有定义的程序和正则表达式语法
    Web浏览器对ECMAScript的支持
    浏览器 ECMAScript兼容性
    Netscape Navigator 4.06~4.79 IE5 第1版
    Opera 6~7.1 第2版
    Netscape 6+(Mozilla 0.6.0+) IE5.5~IE7 Opera 7.2+ *Safari 1~2.0.x 3.x Chrome 1+ FireFox 1~2 3.0.x 第3版
    *IE8 IE9+ *Safari 4.x~5.x *FireFox 3.5~3.6 4.0+ 第5版

    *标注的是不完全兼容的实现

    DOM

    DOM即文档对象模型

    背景

    IE和Netscape对DHTML各持己见,浏览器互不兼容,W3C站出来指定规范,规划DOM。

    DOM级别
    1. DOM 0级,DHTML,参照点。

    2. DOM 1级,98年10月成为W3C的推荐标准,分为DOM core和DOM HTML,DOM core规定如何映射基于XML的文档结构,DOM HTML在DOM core基础上扩展,添加针对HTML的对象和方法。

    3. DOM 2级引入了一些新模块:

    • DOM视图
    • DOM事件
    • DOM样式
    • DOM遍历和范围
    1. DOM 3级
      在DOM加载和保存模块中定义统一加载和保存文档的方法,在DOM验证模块定义验证文档的方法。支持XML1.0规范。
    其他DOM标准
    • SVG 1.0
    • MathML 1.0
    • SMIL
    浏览器对DOM的支持
    浏览器 DOM兼容性
    Netscape 6+(Mozilla 0.6.0+) 1级 2级(almost) 3级(partial)
    IE5 1级(at least)
    IE5.5~IE8 1级(almost)
    IE 9+ 1级 2级 3级
    Opera 7~8.x 1级(almost) 2级(partial)
    Opera 9~9.9 1级 2级(almost) 3级(partial)
    Opera 10+ 1级 2级 3级(partial)
    Safari 1.0.x 1级
    Safari 2+ 1级 2级(partial)
    Chrome 1+ 1级 2级(partial)
    FireFox 1+ 1级 2级(almost) 3级(partial)
    BOM

    HTML5之后,浏览器对象模型有了相关的标准,它包含一下内容:

    • 处理浏览器窗口和框架
    • 弹出新浏览器窗口的功能
    • 移动、缩放和关闭浏览器窗口的功能
    • 提供包含浏览器详细信息的navigator对象
    • 提供包含浏览器所加载页面详细信息的location对象
    • 提供包含用户显示器分辨率详细信息的screen对象
    • 支持cookies
    • 自定义对象(比如XMLHttpRequest)

    Javascript版本(略)

    相关文章

      网友评论

        本文标题:Javascript 简介

        本文链接:https://www.haomeiwen.com/subject/tcxgaxtx.html