• JavaScript 简史


    1.1 JavaScript简史

    在web日益流行的今天,人们对客户端脚本语言的需求也越来越高。

    1995.2 就职于网景公司的Brendan Eich发布了其开发的LiveScript,改语言同时在浏览器和服务器使用。为了赶工期,在Netscape Navigator 2发布前夕,Netscape为了搭上媒体热炒Java的顺风车,临时把LiveScript改成了JavaScript.

    发布大获成功,之后,微软就在其Internet Explore 3.0中加入名为JScript的JavaScript实现。
    当时缺少标准的状况下,导致了个厂商对于实现javascript特性的差异性,并影响了web发展的道路曲折了十几年,事实证明对于世界性开发语言最终还是要有统一的标准,闭门造车是要付出沉痛代价——时间成本。

    1997年,以javascript 1.1 为蓝本的建议被提交给了欧洲计算机制造商会(European Computer Manufactures Association, 简称 ECMA),经过几个月的努力完成了 ECMA-262——定义了一种名为ECMAScript的新的脚本标准。

    1.2 JavaScript 实现

    一个完整的JavaScript事先应该有下列三个部分组成:

    • 核心 [ECMAScript]
    • 文档对象模型 [DOM]
    • 浏览器对象模型[BOM]

    1.2.1 ECMAScript

    由 ECMAScript-262定义的ECMAScript与web浏览器没有依赖关系。并没有包含输入和输出定义。它只定义了语言基础,我们常见的web浏览器只是ECMAScript实现可能的宿主环境之一。其他宿主环境包括 Node 和 Adobe Flash。它规定了以下内容:

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

    1.2.2 文档对象模型(DOM)

    文档对象模型(DOM)是针对XML,但经过扩展用于HTML的应用程序编程接口。DOM把整个页面映射为一个多层节点结构。HTML或XML页面中的每个组成部分都是某种类型的节点。

    <html>
      <head>
        <title>gruguy example</title>
      </head>
      <body>
        <p>Hello World</p>
      </body>
    </html>
    

    1. 为什么要使用DOM

    微软和网景支持不同的形式的DHTML,过去只编写一个HTML页面就能够在任何浏览器中运行的时代结束了。 此时,负责制定web通信标准W3C(world wide website Consortium 万维网联盟)开始着手规划DOM

    2. DOM级别

    DOM1级(DOM level1)于1998.10成为了W3c的推荐标准。DOM1有两个模块组成,DOM核心(Core)和 DOM HTML。DOM核心规定了如何映射基于XML的文档结构,以简化对文档中任意部分访问和操作。DOM HTML模块规定在核心基础上加以扩展,添加了针对HTML的对象和方法。

    DOM2级引入了新的模块,定义了新的接口方法

    • DOM视图(DOM View): 定义了跟踪不同文档视图的接口;
    • DOM时间(DOM Events):定义了事件和事件处理的接口;
    • DOM样式(DOM Style):定义了基于CSS为元素应用样式的接口;
    • DOM遍历和范围(DOM traversal and range):定义了遍历和操作文档树的接口。

    DOM3级则进一步扩展了DOM,引入了以统一方式加载和保存文档的方法——在DOM加载和保存(DOM Load and Save)模块中定义,新增文档验证的方法——DOM验证(DOM Validation)模块中定义。DOM3级也对DOM核心扩展,开始支持XML1.0规范,设计XML Infoset、XPath和XMLBase。

    3. 其他DOM标准

    4. Web浏览器对DOM的支持

    标准制定后,过了一段时间,web浏览器才开始支持。微软首先在IE5中实现了DOM,但直到IE5.5才算是真正支持了DOM1级。Netscape后来重心放在了firefox上,firefox 3完全支持DOM1,几乎完全支持DOM2,还有一部分DOM3,目前,主流的浏览器都支持了DOM标准。

    1.2.3 浏览器对象模型

    BOM始于web浏览器的实现,对于操作浏览器对象模型,但是没有标准,直到HTML5,将很多BOM功能写进正式规范。

    • 弹出新浏览器窗口的功能
    • 移动、缩放和关闭浏览器窗口功能
    • 提供浏览器详细信息的navigator对象
    • 提供浏览器所加载页面的详细信息的location对象
    • 提供用户显示器分辨率详细信息screen对象
    • 提供cookies的支持
    • 像 XMLHTTPRequest 和IE的 ActiveXObject 这样的自定义对象
  • 相关阅读:
    Java实现 LeetCode 680 验证回文字符串 Ⅱ(暴力)
    Java实现 LeetCode 680 验证回文字符串 Ⅱ(暴力)
    Java实现 LeetCode 680 验证回文字符串 Ⅱ(暴力)
    PHP import_request_variables() 函数
    PHP gettype() 函数
    PHP get_resource_type() 函数
    PHP get_defined_vars() 函数
    PHP floatval()、doubleval () 函数
    反射的相关知识点
    泛型知识
  • 原文地址:https://www.cnblogs.com/gruguy/p/12587021.html
Copyright © 2020-2023  润新知