当前位置: 代码迷 >> 综合 >> 01 javaScript高级程序设计(什么是JavaScript)
  详细解决方案

01 javaScript高级程序设计(什么是JavaScript)

热度:22   发布时间:2024-02-27 10:25:15.0

什么是JavaScript

1995年JavaScript问世。1997 年,JavaScript 1.1 作为提案被提交给欧洲计算机制造商协会(Ecma)。1998 年,国际标准化组织(ISO)和国际电工委员会(IEC)也将 ECMAScript 采纳为标准(ISO/ 
IEC-16262)。自此以后,各家浏览器均以 ECMAScript 作为自己 JavaScript 实现的依据,虽然具体实现
各有不同。完整的javaScript包含:-- 核心(ECMAScript)-- 文档对象模型(DOM)-- 浏览器对象模型(BOM)ECMAScriptECMAScript,即 ECMA-262 定义的语言,并不局限于 Web 浏览器。事实上,这门语言没有输入和
输出之类的方法。ECMA-262 将这门语言作为一个基准来定义,以便在它之上再构建更稳健的脚本语言。
Web 浏览器只是 ECMAScript 实现可能存在的一种宿主环境(host environment)。宿主环境提供
ECMAScript 的基准实现和与环境自身交互必需的扩展。扩展(比如 DOM)使用 ECMAScript 核心类型
和语法,提供特定于环境的额外功能。其他宿主环境还有服务器端 JavaScript 平台 Node.js 和即将被淘汰的 Adobe Flash。如果不涉及浏览器的话,ECMA-262定义了 语法、类型、语句、关键字、保留字、操作符、全局对象。ECMAScript 只是对实现这个规范描述的所有方面的一门语言的称呼。JavaScript 实现了
ECMAScript,而 Adobe ActionScript 同样也实现了 ECMAScript。文档对象模型(DOM)文档对象模型(DOM,Document Object Model)是一个应用编程接口(API),用于在 HTML 中使
用扩展的 XML。DOM 将整个页面抽象为一组分层节点。HTML 或 XML 页面的每个组成部分都是一种
节点,包含不同的数据。比如下面的 HTML 页面:
<html> <head> <title>Sample Page</title> </head> <body> <p> Hello World!</p> </body> 
</html>DOM 通过创建表示文档的树,让开发者可以随心所欲地控制网页的内容和结构。使用 DOM API,
可以轻松地删除、添加、替换、修改节点。为什么 DOM 是必需的在 IE4 和 Netscape Navigator 4 支持不同形式的动态 HTML(DHTML)的情况下,开发者首先可以
做到不刷新页面而修改页面外观和内容。这代表了 Web 技术的一个巨大进步,但也暴露了很大的问题。
由于网景和微软采用不同思路开发 DHTML,开发者写一个 HTML 页面就可以在任何浏览器中运行的好
日子就此终结。为了保持 Web 跨平台的本性,必须要做点什么。人们担心如果无法控制网景和微软各行其是,那
么 Web 就会发生分裂,导致人们面向浏览器开发网页。就在这时,万维网联盟(W3C,World Wide Web 
Consortium)开始了制定 DOM 标准的进程。注意: DOM 并非只能通过 JavaScript 访问,而且确实被其他很多语言实现了。不过对于浏
览器来说,DOM 就是使用 ECMAScript 实现的,如今已经成为 JavaScript 语言的一大组成
部分。浏览器对象模型(BOM)IE3 和 Netscape Navigator 3 提供了浏览器对象模型(BOM) API,用于支持访问和操作浏览器的窗口。使用 BOM,开发者可以操控浏览器显示页面之外的部分。而 BOM 真正独一无二的地方,当然也是
问题最多的地方,就是它是唯一一个没有相关标准的 JavaScript 实现。HTML5 改变了这个局面,这个版
本的 HTML 以正式规范的形式涵盖了尽可能多的 BOM 特性。由于 HTML5 的出现,之前很多与 BOM
有关的问题都迎刃而解了。总体来说,BOM 主要针对浏览器窗口和子窗口(frame),不过人们通常会把任何特定于浏览器的
扩展都归在 BOM 的范畴内。比如,下面就是这样一些扩展:-- 弹出新浏览器窗口的能力;-- 移动、缩放和关闭浏览器窗口的能力;-- navigator 对象,提供关于浏览器的详尽信息;-- location 对象,提供浏览器加载页面的详尽信息;-- screen 对象,提供关于用户屏幕分辨率的详尽信息;-- performance 对象,提供浏览器内存占用、导航行为和时间统计的详尽信息;-- 对 cookie 的支持;-- 其他自定义对象,如 XMLHttpRequest 和 IE 的 ActiveXObject。因为在很长时间内都没有标准,所以每个浏览器实现的都是自己的 BOM。有一些所谓的事实标准,
比如对于 window 对象和 navigator 对象,每个浏览器都会给它们定义自己的属性和方法。现在有了
HTML5,BOM 的实现细节应该会日趋一致。JavaScript 的这三个部分得到了五大 Web 浏览器(IE、Firefox、Chrome、Safari 和 Opera)不同程度的支持。所有浏览器基本上对 ES5(ECMAScript 5)提供了完善的支持,而对 ES6(ECMAScript 6)和ES7(ECMAScript 7)的支持度也在不断提升。这些浏览器对 DOM 的支持各不相同,但对 Level 3 的支
持日益趋于规范。HTML5 中收录的 BOM 会因浏览器而异,不过开发者仍然可以假定存在很大一部分
公共特性。

 

  相关解决方案