第一章 JavaScript简介

 http://www.w3school.com.cn/js/pro_js_implement.asp

出自《JavaScript高级程序设计(第3版)》

1.1 JavaScript简史

1997年,以JavaScript 1.1为蓝本的建议被提交给了欧洲计算机制造商协会(Ecma,European Computer Manufacturers Association)。

该协会指定39号技术委员会(TC39,Technical Committee #39)负责“标准化一种通用、跨平台、供应商中立的脚本语言的语法和语义”(http://www.ecmainternational.org/memento/TC39.htm)。

TC39由来自Netscape、Sun、微软、Borland及其他关注脚本语言发展的公司的程序员组成,他们经过数月的努力完成了ECMA-262——定义一种名为ECMAScript(发音为“ek-ma-script”)的新脚本语言的标准。

 

1.2 JavaScript实现

尽管 ECMAScript 是一个重要的标准,但它并不是 JavaScript 唯一的部分,当然,也不是唯一被标准化的部分。实际上,一个完整的 JavaScript 实现是由以下 3 个不同部分组成的:

 

1.2.1 ECMAScript

ECMAScript与Web浏览器没有依赖关系。实际上,这门语言本身并不包含输入和输出定义。

我们常见的Web浏览器只是ECMAScript实现可能的宿主环境之一。

宿主环境不仅提供基本的ECMAScript实现,同时也会提供该语言的扩展,以便语言与环境之间对接交互。

而这些扩展——如DOM,则利用ECMAScript的核心类型和语法提供更多更具体的功能,以便实现针对环境的操作。

其他宿主环境包括NODE和Adobe Flash。

 

简单地说,ECMAScript 描述了以下内容:

  • 语法
  • 类型
  • 语句
  • 关键字
  • 保留字
  • 运算符
  • 对象

ECMAScript 仅仅是一个描述,定义了脚本语言的所有属性、方法和对象。其他语言可以实现 ECMAScript 来作为功能的基准,

JavaScript实现了ECMAScript,Adobe ActionScript同时也实现了ECMAScript。

 

1.2.2 DOM 文档对象模型

文档对象模型(DOM,Document Object Model)是针对XML但经过扩展用于HTML的应用程序编成接口。

DOM把整个页面映射为一个多层节点结构。

HTML或XML页面中的每个组成部分都是某种类型的节点,这些节点又包含着不同类型的数据。

 

 

1.2.3  BOM浏览器对象模型

BOM可以对浏览器窗口进行访问和操作。

使用 BOM,开发者可以移动窗口、改变状态栏中的文本以及执行其他与页面内容不直接相关的动作。

使 BOM 独树一帜且又常常令人怀疑的地方在于,它只是 JavaScript 的一个部分,没有任何相关的标准。这个问题在HTML5中得到了解决。

BOM 主要处理浏览器窗口和框架,不过通常浏览器特定的 JavaScript 扩展都被看做 BOM 的一部分。这些扩展包括:

  • 弹出新的浏览器窗口
  • 移动、关闭浏览器窗口以及调整窗口大小
  • 提供 Web 浏览器详细信息的定位对象
  • 提供用户屏幕分辨率详细信息的屏幕对象
  • 对 cookie 的支持
  • IE 扩展了 BOM,加入了 ActiveXObject 类,可以通过 JavaScript 实例化 ActiveX 对象

 

1.3 JavaScript版本

https://www.w3schools.com/js/js_versions.asp

 

作者:Chuck Lu    GitHub    
posted @   ChuckLu  阅读(213)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2017-05-08 05月08日 学习列表
2015-05-08 C语言中的宏展开
点击右上角即可分享
微信分享提示