您的当前位置:首页正文

JavaScript经典教程

2023-10-08 来源:个人技术集锦
JavaScript教程

目 录

一、 JavaScript语言概况 什么是JavaScript 

二、 

三、 

四、 JavaScript和Java的区别 JavaScript程序运行环境 编写第一个JavaScript程序

JavaScript基本数据结构 JavaScript代码的加入 基本数据类型 表达式和运算符 范例:跑马灯效果

JavaScript程序构成 程序控制流 函 数

事件驱动及事件处理

范例:自动装卸载;获取版本号基于对象的JavaScript语言 对象的基础知识 常用对象的属性和方法 范例:时钟

五、 创建新对象 对象的定义 创建对象实例 对象方法的使用 JavaScript中的数组

六、 

七、 

八、 

九、 范例:动态文字滚动;颜色变化使用内部对象系统

浏览器对象层次及其主要作用 文档对象功能及其作用 范例:文档对象的综合应用

窗口及输入输出 窗口及输入输出 简单的输入、输出例子 范例:在线时间

WEB页面信息交互 窗体基础知识 窗体中的基本元素 范例:动态按钮

实现更复杂交互 什么是框架 如何访问框架 范例:动态交互

第一讲 JavaScript语言概况

Internet时代,造就了我们新的工作和生活方式,其互联性、开放性和共享信息的模式,打破了传统信息传播方式的重重壁垒,为我们带来了新的机遇。随着计算机和信息时代的到来,人类社会前进的脚步在逐渐加快,每一天都有新的事情发生,每一天都在创造着奇迹。随着Internet技术的突飞猛进,各行各业都在加入Internet的行业中来。无论从管理方面,还是从商业角度来看,Internet都可以带来无限生机。通过Internet,可以实现地区、集体乃至个人的连接,从而达到一种“统一的和谐”。那么怎样把自己的或公司的信息资源加入到 WWW 服务器,是广大用户日益关心的问题。采用超链技术(超文本和超媒体技术)是实现这个目标最简单的、最快速的手段和途径。具体实现这种手段的支持环境,那就是HTML超文本标识语言。通过它们可制作所需的Web网页。

通过超文本(Hyper Text)和超媒体(Hyper Media)技术结合超链接(Hyper link)的链接功能将各种信息组织成网络结构(web),构成网络文档(Document),实现Internet上的“漫游”。通过HTML符号的描述就可以实现文字、表格、声音、图像、动画等多媒体信息的检索。

然而采用这种超链技术存在有一定的缺陷,那就是它只

能提供一种静态的信息资源,缺少动态的客户端与服务器端的交互。虽然可通过CGI (Common Gateway Interface)通用网关接口实现一定的交互,但由于该方法编程较为复杂,因而在一段时间防碍了Internet技术的发展。而

JavaScript的出现,无疑为Internet网上用户带来了一线生机。可以这样说,JavaScript的出现是时代的需求,是当今的信息时代造就了JavaScript。

JavaScript的出现,它可以使得信息和用户之间不仅只是一种显示和浏览的关系,而是实现了一种实时的、动态的、可交式的表达能力。从而基于CGI静态的HTML页面将被可提供动态实时信息,并对客户操作进行反应的Web页面的取代。JavaScript脚本正是满足这种需求而产生的语言。它深受广泛用户的喜爱的欢迎。它是众多脚本语言中较为优秀的一种,它与WWW的结合有效地实现了网络计算和网络计算机的蓝图。无凝Java家族将占领Internet网络的主导地位。因此,尽快掌握JavaScript脚本语言编程方法是我国广大用户日益关心的。 一、什么是JavaScript

JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言。使用它的目的是与HTML超文本标记语言、Java 脚本语言(Java小程序)

一起实现在一个Web页面中链接多个对象,与Web客户交互作用。从而可以开发客户端的应用程序等。它是通过嵌入或调入在标准的HTML语言中实现的。它的出现弥补了HTML语言的缺陷,它是Java与HTML折衷的选择,具有以下几个基本特点:

1. 是一种脚本编写语言

JavaScript是一种脚本语言,它采用小程序段的方式实现编程。像其它脚本语言一样,JavaScript同样已是一种解释性语言,它提供了一个易的开发过程。 它的基本结构形式与C、C++、VB、Delphi十分类似。但它不像这些语言一样,需要先编译,而是在程序运行过程中被逐行地解释。它与HTML标识结合在一起,从而方便用户的使用操作。 2. 基于对象的语言。

JavaScript是一种基于对象的语言,同时以可以看作一种面向对象的。这意味着它能运用自己已经创建的对象。因此,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。 3. 简单性

JavaScript的简单性主要体现在:首先它是一种基于Java基本语句和控制流之上的简单而紧凑的设计,

从而对于学习Java是一种非常好的过渡。其次它的变量类型是采用弱类型,并未使用严格的数据类型。 4. 安全性

JavaScript是一种安全性语言,它不允许访问本地的硬盘,并不能将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。从而有效地防止数据的丢失。 5. 动态性

JavaScript是动态的,它可以直接对用户或客户输入做出响应,无须经过Web服务程序。它对用户的反映响应,是采用以事件驱动的方式进行的。所谓事件驱动,就是指在主页(Home Page)中执行了某种操作所产生的动作,就称为“事件”(Event)。比如按下鼠标、移动窗口、选择菜单等都可以视为事件。当事件发生后,可能会引起相应的事件响应。 6. 跨平台性

JavaScript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持JavaScript的浏览器就可正确执行。从而实现了“编写一次,走遍天下”的梦想。

实际上JavaScript最杰出之处在于可以用很小的程序做大量的事。无须有高性能的电脑,软件仅需一个字处理软

件及一浏览器,无须WEB服务器通道,通过自己的电脑即可完成所有的事情。

综合所述JavaScript 是一种新的描述语言,它可以被箝入到 HTML 的文件之中。 JavaScript语言可以做到回应使用者的需求事件 (如: form 的输入) ,而不用任何的网路来回传输资料,所以当一位使用者输入一项资料时,它不用经过传给伺服端 (server)处理,再传回来的过程,而直接可以被客户端 (client) 的应用程式所处理。

JavaScript 和 Java 很类似,但到底并不一样! Java 是一种比 JavaScript 更复杂许多的程式语言,而 JavaScript 则是相当容易了解的语言。JavaScript 创作者可以不那麽注重程式技巧,所以许多 Java 的特性在 Java Script 中并不支援。

二、JavaScript和Java的区别

虽然JavaScript与Java有紧密的联系,但却是两个公司开发的不同的两个产品。Java是SUN公司推出的新一代面向对象的程序设计语言,特别适合于Internet应用程序开发;而JavaScript是Netscape公司的产品,其目的是为了扩展Netscape Navigator功能,而开发的一种可以嵌入Web页面中的基于对象和事件驱动的解释性语言, 它的前身是

Live Script;而Java的前身是Oak语言。下面对两种语言间的异同作如下比较: 1. 基于对象和面向对象

Java是一种真正的面向对象的语言,即使是开发简单的程序,必须设计对象。

JavaScript是种脚本语言,它可以用来制作与网络无关的,与用户交互作用的复杂软件。它是一种基于对象(Object Based)和事件驱动(Event Driver)的编程语言。因而它本身提供了非常丰富的内部对象供设计人员使用。 2. 解释和编译

两种语言在其浏览器中所执行的方式不一样。Java的源代码在传递到客户端执行之前,必须经过编译,因而客户端上必须具有相应平台上的仿真器或解释器,它可以通过编译器或解释器实现独立于某个特定的平台编译代码的束缚。

JavaScript是一种解释性编程语言,其源代码在发往客户端执行之前不需经过编译,而是将文本格式的字符代码发送给客户编由浏览器解释执行。 3. 强变量和弱变量

两种语言所采取的变量是不一样的。

Java采用强类型变量检查,即所有变量在编译之

前必须作声明。如: Integer x; String y; x=1234; x=4321;

其中X=1234说明是一个整数,Y=4321说明是一个字符串。

JavaScript中变量声明,采用其弱类型。即变量在使用前不需作声明,而是解释器在运行时检查其数据类型,如: x=1234; y=\"4321\";

前者说明x为其数值型变量,而后者说明y为字符型变量。 4. 代码格式不一样

Java是一种与HTML无关的格式,必须通过像HTML中引用外媒体那么进行装载,其代码以字节代码的形式保存在独立的文档中。

JavaScript的代码是一种文本字符格式,可以直接嵌入HTML文档中,并且可动态装载。编写HTML文档就像编辑文本文件一样方便。

5. 嵌入方式不一样

在HTML文档中,两种编程语言的标识不同,JavaScript使用来标识,而Java使用...来标识。 6. 静态联编和动态联编

Java采用静态联编,即Java的对象引用必须在编译时的进行,以使编译器能够实现强类型检查。 JavaScript采用动态联编,即JavaScript的对象引用在运行时进行检查,如不经编译则就无法实现对象引用的检查。

三、JavaScript程序运行环境 软件环境:

Windows 95/98或Windows NT。

Netscape Navigator x.0或Internet Explorer x.0。 用于编辑HTML文档的字符编辑器(WS、WPS、Notepad、WordPad等)或HTML文档编辑器。 硬件配置:

首先必须具备运行Windows 95/98或Windows NT的基本硬件配置环境。推荐: 基本内存32M。

CRT只少需要256颜色,分辨率在640X480以上。

CPU只少133以上。

鼠标和其它外部设置(根据需要选用)。 四、编写第一个JavaScript程序

下面我们通过一个例子,编写第一个JavaScript程序。通过它可说明JavaScript的脚本是怎样被嵌入到HTML文档中的。

test1.html文档:

在Internet Explore5.0中运行行后的结果见下图所示。

说明:

test.html是HTML文档,其标识格式为标准的HTML格式;

如同HTML标识语言一样, JavaScript程序代码是一些可用字处理软件浏览的文本,它在描述页面的HTML相关区域出现。

JavaScript代码由 说明。在标识之间就可加入JavaScript脚本。

alert()是JavaScript的窗口对象方法,其功能是弹出一个具有OK对话框并显示()中的字符串。

通过标识说明:若不认识JavaScript代码的浏览器,则所有在其中的标识均被忽略;若认识,则执行其结果。使用注释这是一个好的编程习惯,它使其他人可

以读懂你的语言。

JavaScript 以 标签结束。 从上面的实例分析中我们可以看出,编写一个JavaScript程序确实非常容易的。

JavaScript

第一个版本的JavaScript(在Netscape中)是1.0版。JavaScript版本与Netscape 3版本有关的是JavaScript 1.1版。Netscape 4用JavaScript 1.2。

注释://comment 如果是大段注释:/*...*/

JavaScript的结构:

文档对象模型

Navigator 4定义的文档对象模型:

window(frame,self,top,parent): --history,document,location,toolbar等 --document:

----link,anchor,layer,form,applet,image,area ----form:

------text,textarea,password ------radio,checkbox ------button,reset,submit ------fileUpload ------select,option

IE几乎包含了以上所有的对象,而且Microsoft的模型更广泛一些。

window.document.formName.textName

window.document.formName.buttonName

-------------------------- JavaScript入门与提高

清华大学出版社

第1章 Internet及网络开发入门 Microsoft: JScript

--------------- 第2章 初识HTML

注释 表格:

bordercolor,bordercolorlight,bordercolordark属性

frame属性,控制显示表格的外部边框: void 无边框 above 仅有顶框 below 仅有底框

hsides 有顶框和底框 lhs 有左边框 rhs 有右边框 vsides 有左右边框 box 所有边框

rules属性,显示表格内部的边框控制: none 没有内部边框 basic 所有内部边框 rows 仅有水平边框 cols 仅有垂直边框

在新的HTML规范中,已经不支持

标注了。

编程标注

脚本程序

定义一块文字,提供给不支持JavaScript或禁止JavaScript支持的浏览器显示。

用于服务器端的JavaScript程序以及相关的函数。在用户端的浏览器中,这些代码被看作纯文本。 用来在HTML中加入Java的applet: code 指出被包含的Java类的名字

codebase 指出存储Java类的url

width 指出applet占用区域的宽度(象素) height 指出applet占用区域的高度(象素)

定义了传递给Java applet小应用程序的各种参数值: name 指出要传递的applet参数的名字 value 指出要传递参数的值 插入插件所支持的文件: src 文件的url width 宽度(象素) height 高度(象素)

用来定义一块文字,提供给不支持插件或禁止插件使用的浏览器显示。 表单: name=\"formname\"

target=\"windowname\"

action=\"serverurl\" method=get|post enctype=\"encodingType\" [onSubmit=\"handlerText\"]> type

text,password,checkbox,radio,submit,reset,hidden,button,file(文件上载对象)

textarea属性: name,rows,cols,wrap wrap:off|on:字符不回绕

virtual:文本在区域的右边界自动回绕到下一行,但是中间没有回车符,仍然是一行。

physical:文本在区域的右边界回绕到下一行,中间插入回车符,成为多行文本。

---------------

第3章 JavaScript的开发环境

JavaScript开发软件:Microsoft ActiveX ContrlPad, JavaScript Editor, JS Maker

---------------

第4章 JavaScript的变量、表达式和操作符

4.1 JavaScript的类型和变量

数据类型: 数字:整数或实数

逻辑值:true or false 字符串:\"string1\" 'string2'

undefined类型:专门用来指明一个已经创建但是没有初值的变量。 对象

Netscape 4.0实现了JavaScript语言的1.2版本。在插入JavaScript脚本的HTML标记

浏览器只能处理同级或者比较低版本的JavaScript脚本程序,在遇到比自己实现版本高的JavaScript脚本程序时,会自动跳过这段脚本程序。这样虽然可以避免一些运行时的错误,但是也可能带来一定的问题。

var str1=\"3\"; var str2=21; var x=str1+str2; var y=str2+str1; // x=\"321\

也可以使用number(str1)转换成数值,或string(str2)转换成字符串。

变量命名:以字母或下划线开头,后面可以是字母或数字;不能使用保留字;区分大小写。

在一个JavaScript函数的外部声明的变量称为外部变量,在函数内部声明和使用的变量称为内部变量。

用var声明变量。

var Text=\"asdf\"; var Mynumber=3; var Mybool=true; var E=2.718281828; var Init=null;

(对于一个声明的变量,可以在声明的时候赋给它一个特殊的常量null。null作为数字时等效于0,而作为字符串时变成了一个空字符串。)

var Uninit;

(声明了一个变量但未定义,就是undefined类型,如果引

用就会产生错误。)

var some2=5*Uninit;(产生错误,因为Uninit未定义)

除了用VAR,也可以直接使用赋值的方法定义变量。 Mytext=\"asdf\";

因篇幅问题不能全部显示,请点此查看更多更全内容