JavaScript(01): JavaScript简介

1. JavaScript的历史

JavaScript诞生于1995年,如今全世界无数的网页在依靠它完成各种关键任务,JavaScript已经从过去装饰性的一种脚本语言转变为主流的编程语言,可以用它来开发更大更复杂的程序。

在1992年,Nombas公司开始开发一种叫做C-minus-minus(简称Cmm)的嵌入式脚本语言。这个脚本语言捆绑在一个叫做CEnvi的共享软件产品中,当Netscape Navigator崭露头角时,Nombas开发了一个可以嵌入网页中的CEnvi的版本。它们代表了第一个在万维网上使用的客户端脚本语言,然而Nombas丝毫没有料到它的理念将会成为因特网的一块重要基石。

当网上冲浪越来越流行时,对于开发客户端脚本的需求也逐渐增大。当时工作于Netscape的Brendan Eich,开始着手为即将在1995年发行的Netscape Navigator 2.0开发一个称之为LiveScript的脚本语言,当时的目的是同时在浏览器和服务器端使用它。Netscape与Sun公司联手及时完成LiveScript实现。就在Netscape Navigator 2.0即将正式发布前,Netscape将其更名为JavaScript,目的是为了利用Java这个因特网时髦词汇(就如同徽记瓜子跟安徽毫无关系,它实际上是成都产的)。Netspace的赌注最终得到回报,JavaScript从此变成了因特网的必备组件。

因为JavaScript 1.0如此成功,Netscape在Netscape Navigator 3.0中发布了1.1版。恰巧那个时候,微软决定进军浏览器,发布了IE 3.0 并搭载了一个JavaScript的克隆版,叫做JScript(这样命名是为了避免与Netscape潜在的许可纠纷)。微软步入Web浏览器领域的这重要一步虽然令其声名狼藉,但也成为JavaScript语言发展过程中的重要一步(如果没有微软的垃圾浏览器IE,浏览器兼容性问题就不会那么突出和严重)。

在微软进入后,有3种不同的JavaScript版本同时存在:Netscape Navigator 3.0中的JavaScript、IE中的JScript以及CEnvi中的ScriptEase。与C和其他编程语言不同的是,JavaScript并没有一个标准来统一其语法或特性,而这3种不同的版本恰恰突出了这个问题。随着业界担心的增加,这个语言标准化显然已经势在必行。1997年,JavaScript 1.1作为一个草案提交给欧洲计算机制造商协会(ECMA),由来自Netscape、Sun、微软、Borland和其他一些对脚本编程感兴趣的公司的程序员组成的TC39锤炼出了ECMA-262,该标准定义了叫做ECMAScript的全新脚本语言。从此,Web浏览器就开始努力(虽然有着不同程度的成功和失败)将ECMAScript作为JavaScript实现的基础。

尽管ECMAScript是一个重要的标准,但它并不是JavaScript唯一的部分,当然,也不是唯一被标准化的部分。实际上,一个完整的JavaScript实现是由以下3个不同部分组成的:核心(ECMAScript)——JavaScript的核心ECMAScript描述了该语言的语法和基本对象;文档对象模型(DOM)——DOM描述了处理网页内容的方法和接口;浏览器对象模型(BOM)——BOM描述了与浏览器进行交互的方法和接口。从这里不难看出由于后两者的实现依赖于浏览器(通常也将BOM对象和DOM对象成为浏览器宿主对象),因此在开发中也就不可避免的会遇到浏览器兼容性问题。

2. 什么是JavaScript

JavaScript是一种基于对象和事件驱动并且具有安全性的脚本语言。
  1. JavaScript 被设计用来向 HTML 页面添加交互行为(HTML页面应该包含三个部分的内容,分别是:HTML标签---负责承载页面中的内容;CSS---负责页面显示的样式;JavaScript---负责页面中的行为)。
  2. JavaScript 是一种脚本语言(脚本语言是一种轻量级的编程语言)。
  3. JavaScript 通常被直接嵌入 HTML 页面。
  4. 所有的人无需购买许可证均可使用 JavaScript。 

3. JavaScript能做什么

  • JavaScript 为 HTML 设计师提供了一种编程工具。HTML 创作者往往都不是程序员,但是 JavaScript 却是一种只拥有极其简单的语法的脚本语言!几乎每个人都有能力将短小的代码片断放入他们的 HTML 页面当中。
  • JavaScript 可以将动态的文本放入 HTML 页面。类似于这样的一段 JavaScript 声明可以将一段可变的文本放入 HTML 页面:document.write("<h1>" + name + "</h1>")
  • JavaScript 可以对事件作出响应。可以将 JavaScript 设置为当某事件发生时才会被执行,例如页面载入完成或者当用户点击某个 HTML 元素时。
  • JavaScript 可以读写 HTML 元素。
  • JavaScript 可被用来验证数据。在数据被提交到服务器之前,JavaScript 可被用来验证这些数据。
  • JavaScript 可被用来检测访问者的浏览器,并根据所检测到的浏览器,为这个浏览器载入相应的页面。
  • JavaScript 可被用来创建 cookies,通过cookie来存储和取回位于访问者的计算机中的信息。

4. 编写JavaScript

<!DOCTYPE html>
<html>
	<head></head>
	<body>
		<script type="text/javascript">
			document.write("Hello, world!");
		</script>
  </body>
</html>
把JavaScript放置到何处?
  1. head部分:包含函数的脚本位于文档的head部分。这样我们就可以确保在函数被调用前,脚本已经被载入了。
  2. body部分:在页面被载入时脚本就会被执行。当你把脚本放置于 body 部分后,它就会生成页面的内容。
  3. 外部脚本:有时候可能需要为若干个页面中运行相同的JavaScript,可以将JavaScript保存在一个外部文件之中,通常这个文件的后缀是.js。(外部文件不能写<script>标签,因为引用外部JS文件相当于将其内容直接复制到<script>标签中)
通过以下方式可以引用外部js文件:
<!DOCTYPE html>
<html>
  <head>
    <script src="xxx.js"></script>
  </head>
  <body>
  </body>
</html>
5. DOM和BOM

DOM(文档对象模型)是HTML和XML的应用程序编程接口(API)。DOM将整个页面处理成由节点层级构成的文档。HTML或XML页面的每个部分都是一个节点的衍生物。DOM通过创建树来表示文档,从而使得开发者对文档的内容和结构具有很强的控制力。通过DOM API可以轻松的添加、删除和替换节点。

通过BOM(浏览器对象模型)可以对浏览器窗口进行访问和操作,可以移动窗口、改变状态栏中的文本以及执行其他与页面内容不直接相关的动作。当然关于BOM并没有相关标准,每种浏览器都有自己的BOM实现,例如:IE中加入了ActiveXObject类,可以通过JavaScript实例化ActiveX对象。



  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值