JavaScript诞生背景:
JavaScript诞生于1995年。当时,它的主要目的是处理以前由服务器端语言(如Perl)负责的一些输入验证操作。在JavaScript问世之前,必须把表单数据发送到服务器端才能确定用户是否没有填写某个必填域,是否输入了无效的值。Netscape Navigator希望通过JavaScript来解决这个问题。在人们普遍使用电话拨号上网的年代,能够在客户端完成一些基本的验证任务绝对是令人兴奋的。毕竟,拨号上网的速度之慢,导致了与服务器的每一次数据交换事实上都成了对人们耐心的一次考验
JavaScript的主要目的是处理以前由服务器语言负责的一些输入验证操作。在JavaScript问世之前,必须把表单数据发送到服务器端才能确定用户有没有填写某个必填域,是否输入了无效值。
ECMA-262是一种名为ECMScript的脚本语言标准,浏览器开发商使用ECMAScript作为各自JavaScript实现的基础。
(一)JavaScript实现
虽然JavaScript和ECMAScript通常都被人们用来表达相同的含义,但JavaScript的含义却比ECMA-262中规定的要多得多。没错,一个完整的JavaScript实现应该由下列三个不同的部分组成
- 核心(ECMAScript)
- 文档对象模型(DOM)
- 浏览器对象模型(BOM)
(二)ECMAScript
由于ECMA-262定义的ECMAScript与Web浏览器没有依赖关系。实际上,这门语言本身并不包含输入和输出定义。ECMA-262定义的只是这门语言的基础,而在此基础之上可以构建更完善的脚本语言。我们常见的Web浏览器只是ECMAScript实现可能的宿主环境之一。宿主环境不仅提供基本的ECMAScript实现,同时也会提供该语言的扩展,以便语言与环境之间对接交互。而这些扩展-----如DOM,则利用ECMAScript的核心类型和语法提供更多更具体的功能,以便实现针对环境的操作。其他宿主环境包括Node(一种服务端JavaScript平台)和Adobe Flash。
既然ECMA-262标准没有参照Web浏览器,那它都规定了些什么内容呢?大致来说,它规定了这门语言的下列组成部分:
- 语法
- 类型
- 语句
- 关键字
- 保留字
- 操作符
- 对象
ECMAScript就是对实现该标准(ECMA-262)规定的各个方面内容的语言的描述。JavaScript实现了ECMAScript,Adobe ActionScript同样也实现了ECMAScript。
(三)文档对象模型(DOM)
文档对象模型(DOM,Document Object Model)是针对XML但经过扩展用于HTML的应用程序编程接口(API, application Programming Interface)。 DOM把整个页面映射为一个多层节点结构。HTML或XML页面中的每个组成部分都是某种类型的节点,这些节点又包含着不同类型的数据。看下面这个HTML页面:
<html> <head> <title>Simple Page</title> </head> <body> <p>Hello World!</p> </body> </html>
在DOM中,这个页面可以通过如下分层节点图表示:
通过DOM创建的这个表示文档的树形图,开发人员获得了控制页面内容和结构的主动权。借助DOM提供的API,开发人员可以轻松自如地删除,添加,替换或修改任何节点。
(四)浏览器对象模型(BOM)
Internet Exporer 3和Netscape Navigator 3 有一个共同的特色,那就是支持可以访问和操作浏览器窗口的浏览器对象模型(BOM, Browser Object Model)。开发人员使用BOM可以控制浏览器显示的页面以外的部分。而BOM真正与众不同的地方(也是经常会导致问题的地方),还是它作为JavaScript实现的一部分但却没有相关的标准。这个问题在HTML5中得到了解决,HTML5致力于把很多BOM功能写入正式规范。HTML5发布后,很多关于BOM的困惑烟消云散。
从根本上讲,BOM只处理浏览器窗口和框架;但人们习惯上也把所有针对浏览器的JavaScript扩展算作BOM的一部分。下面就是一些这样的扩展:
1. 弹出新浏览器窗口的功能
2. 移动,缩放和关闭浏览器窗口的功能;
3. 提供浏览器详细信息的navigator对象;
4. 提供浏览器所加载页面的详细信息的location对象;
5. 提供用户显示器分辨率详细信息的screen对象
6. 对cookies的支持;
7. 像XMLHttpRequest和IE的ActiveXObject这样的自定义对象。
由于没有BOM标准可以遵循,因此每个浏览器都有自动机的实现。虽然也存在一些事实标准,例如要有window对象和navigator对象等,但每个浏览器都会为这两个对象仍至其他对象定义自己的属性和方法。现在有了HTML5,BOM实现的细节有望朝着兼容性越来越高的方向发展
相关推荐
第1章 JavaScript简介 1 1.1 JavaScript概述 1 1.1.1 什么是JavaScript 1 1.1.2 JavaScript的基本特点 2 1.1.3 常用的Web开发语言 3 1.2 JavaScript的应用 4 1.2.1 客户端应用 5 1.2.2 服务器端应用 5 1.3 在Web页面...
希望对你学 javascript有帮助 第一章javascript简介 1.在地址栏输入javascript语句 [removed]Document.write(“显示文字”) 2.将javascript嵌入 HTML文档 [removed] document.bgColor=”blue” [removed] 第二章 ...
本资料包“JavaScript简介和特点.rar”提供了对JavaScript的基本介绍以及其核心特性。 JavaScript最初由Netscape公司的Brendan Eich在1995年发明,目的是为了增加网页的交互性。它并非Java语言的子集,尽管两者名字...
1. 变量:在JavaScript中,我们可以使用`var`、`let`或`const`关键字来声明变量。`var`是老式语法,而`let`和`const`是ES6引入的新特性,其中`let`允许重新赋值,`const`则用于声明常量,一旦赋值不可更改。 2. ...
JavaScript简介及基础语法介绍 JavaScript是客户端脚本语言,是一种基于对象(Object)和事件驱动(Event Driven)的脚本语言。它认为文档和显示文档的浏览器都是由不同的对象组成的集合,这些对象具有一定的属性,...
一、JavaScript简介 1. 什么是JavaScript:JavaScript,通常简称为JS,是由 Netscape 公司开发的一种解释型、跨平台的脚本语言。它主要用于客户端的网页开发,用来增加网页的动态功能,如交互性、数据验证和实时...
"1JavaScript简介1.avi"这个视频文件很可能包含了JavaScript的基础介绍,包括它的历史、语法特性、变量声明、数据类型、运算符、流程控制语句(如条件判断和循环)等内容。初学者可以通过这个视频快速入门,了解...
javascript简介介绍,它是一种能让你的网页更加生动活泼的程式语言,也是目前网页中设计中最容易学又最方便的语言
JavaScript,简称JS,是一种轻量级的解释型编程语言,广泛应用于网页和互联网应用开发。它在1995年由Netscape公司的Brendan Eich设计,最初...这份"JavaScript简介"资料,无疑是你学习和提升JavaScript技能的宝贵资源。
JavaScript 程序设计课件:1 JavaScript 简介 本节课件主要介绍了 JavaScript 的基础知识,包括静态网页和动态网页的区别、JavaScript 的定义和特点、HTML 的基本结构、编写第一个 JavaScript 程序的步骤等。 一、...
javaScript 高级程序设计 第1章 JavaScript简介笔记
总的来说,"JavaScript简介"的手册会详细讲解这些概念,帮助初学者理解并掌握这门语言。对于美工和前台设计师来说,学习JavaScript不仅可以增强设计能力,还能提升他们的职业竞争力,因为现代Web开发对前端工程师的...
文件名“第1章”可能暗示了这是一个逐步深入的系列教程,第一章可能涵盖基础概念,如变量声明、数据类型和基本的控制结构。随着章节的深入,可能会涉及更高级的主题,如函数表达式、模块化、异步编程等。 通过仔细...
本文讲了Java与JavaScript的区别。主要讲的是JavaScript的基础知识,包括JavaScript是什么,JavaScript的基本语法以及本文运用用大量的实例来讲解各种语法。
JavaScript简介,_HTML,CSS,JavaScript演示【JavaScript全栈入门教程1】
JavaScript,一种广泛应用于Web开发的脚本语言,是前端开发中的核心组成部分。它由Netscape公司的Brendan Eich在1995年发明,最初命名为Mocha,后改为LiveScript,最后为了营销目的与Java关联而更名为JavaScript。...
JavaScript简介.ppt精美课件!
#### 一、JavaScript简介 1. **JavaScript定义与特性**: - JavaScript是一种轻量级的脚本语言,它既是一种解释性语言,也是一种编译型语言,能够运行在客户端浏览器上。 - JavaScript遵循ECMAScript标准,并基于...
1. 网站前端开发:构建用户界面,处理用户输入和页面交互。 2. 服务端开发:使用Node.js进行服务器端编程。 3. 命令行工具:创建命令行应用程序。 4. 桌面应用开发:通过Electron等框架创建桌面软件。 5. 移动开发:...