了解 JavaScript
- 在介绍 JavaScript 之前,先简单了解一下脚本语言。脚本语言是一种简单的语言,其语法和规则没有编程语言严格和复杂。用 C++、Java 等编写的程序必须先经过编译,将源代码转换为二进制代码之后才可执行,而脚本语言是一种解释性的语言,其程序不需要事先编译,可以直接运行,只要使用合适的解释器来解释就可以执行;脚本语言由一些 ASCII 码组成,以文本形式存在。常用的脚本语言有 JavaScript、VBScript 等。
- 因为脚本语言是在客户端被解释执行的,所以人们通常用脚本语言来实现客户端动态网页。脚本语言能过与一般的 HTML 语言交互使用,在读取网页的同时,脚本语言编写的小程序也被传输到客户机上,并在客户机上执行。
1.JavaScript 简介
- 通过 HTML 标签的描述可以实现文字、表格、声音、图像、动画等信息的浏览,然而这只是一种静态信息资源的提供,缺少动态交互。JavaScript 的出现,使得信息和用户之间不仅仅是一种显示和浏览的关系,而且实现了一种实时的、动态的、可交互的表达。从而使得基于 GUI 的静态 HTML 页面就可提供动态实时信息、并对客户操作进行反应的 Web 页面所取代。
(1)JavaScript
- JavaScript 是一种基于对象(Object)和事件驱动(Event Driven),并具有安全性能的脚本语言。使用它的目的是与 HTML、Java脚本语言(Java 小程序)一起实现在一个 Web 页面中链接多个对象,与 Web 客户交互作用,从而可以开发客户端的应用程序等。它是通过嵌入在标准的 HTML 语言中实现的,它的出现弥补了 HTML 语言的缺陷。
(2)JavaScript 与 Java 的区别
- 虽然 JavaScript 与 Java 有紧密的联系,但却是两个公司开发的两个不同的产品。下面对两种语言间的异同进行如下比较。
方面 | 比较 |
---|---|
基于对象和面向对象 | Java 是完全面向对象的语言,即使是开发简单的程序,也必须设计类和对象。JavaScript 是基于对象的脚本语言,它虽然基于对象和时间驱动,当由于脚本语言的特性,在功能上与 Java 相比差很多 |
解释和编译 | 两种语言在浏览器中执行的方式不一样。Java 的源代码在传递到客户端执行之前,必须经过编译,因而客户端上必须具有相应平台上的仿真器或解释器。JavaScript 是一种解释性编程语言,其源代码在发往客户端执行之前不需要经过编译,而是将文本格式的字符代码发送给客户端由浏览器解释执行 |
强变量和弱变量 | 两种语言所采用的的变量是不一样的。Java 采用强类型变量检查,即所有变量在编译之前必须做声明。JavaScript 中的变量是弱类型的,即变量在使用前不需要做声明 |
代码格式不一样 | Java 的格式与 HTML 无关,其代码以字节形式保存在独立文档中。JavaScript 的代码是一种文本字符格式,可以直接嵌入 HTML 文档中,并且可动态装载 |
嵌入方式不一样 | 在 HTML 文档中,通过不同的标签标识两种编程语言,JavaScript 使用<script></script> 标签对,而 Java 使用<applet></applet> 标签对 |
静态联编和动态联编 | Java 采用静态联编,即 Java 的对象应用必须在编译时进行,以使编译器能够实现强类型检查。JavaScript 采用动态联编,即 JavaScript 先编译,再在运行时对对象应用进行检查 |
2.JavaScript 语言基础知识
(1)JavaScript 代码的加入
- 使用标签对
<script></script>
可以在 HTML 文档的任意地方插入 JavaScript,甚至在<html>
之前插入也没有问题,多数情况下将其放在<head></head>
中,因为一些代码可能需要在页面装载起始就开始运行。不过如果要在声明框架的网页中,就一定要在<grameset>
之前插入,否则不会运行。脚本代码插入的基本格式如下:
<script language = "JavaScript">
JavaScript 代码;
.
.
.
</script>
- 标签对
<script></script>
指明其间放入的是脚本源代码;属性 language 说明标签中使用的是何种脚本语言,这里是 JavaScript 语言。 - 另外,还可以把 JavaScript 代码写到一个单独的文件中(此文件通常应该用 js 作为扩展名),然后用下面所示的格式在 HTML 文档中调用。
<script language = "JavaScript" src = "url">
.
.
.
</script>
- 其中,url 属性指明 JavaScript 文档的地址。这种方式非常适合多个网页调用一个 JavaScript 程序的情况。实例代码如下:
<html>
<head>
<meta charset="UTF-8">
<title>JavaScript 实例</title>
</head>
<body>
<script language = "JavaScript">
document.write("<h2>JavaScript 第一个网页!</h2>");
document.close();
</script>
</body>
</html>
【说明】
- document.write():文档对象的输出函数,其功能是将括号中的字符或变量值输出到窗口
- document.close():将输出关闭
- 分号“;”:JavaScript 语句结束符
- JavaScript 区分大小写
(2)基本数据类型
- JavaScript 中有4种基本数据类型:数值型(整数和实数)、字符串型、布尔型(true、fasle)、空值。JavaScript 的基本类型数据可以是常量也可以是变量。JavaScript 采用弱类型的形式,所以一个变量或常量不必在使用前声明,而是在使用或赋值时确定其数据类型,当然,你也可以提前声明在赋值使用。
(3)常量
- 整型常量
- 实型常量
- 布尔常量
- 字符型常量
- 未定义:变量定义后没有赋初值,变量的值便是 undefined
- 空值:null 代表什么也没有,如果试图引用没有定义的变量,则返回一个 null 值
(4)变量
- 变量的命名和其他语言一样,必须满足合法标识符要求,不得使用 JavaScript 中的关键字命名。在 JavaScript 中,变量的定义方式有3种
- 用关键字 var 定义变量,但不赋初值,使用时在赋值。例如:var sample ;此时变量 sample 的值是 undefined
- 用关键字 var 定义变量的同时给变量赋初值,这样就定义了变量的数据类型,使用时也可再赋其他类型的值。例如:var sample = 99;
- 变量不事先定义,而是在使用时通过给变量赋值来定义变量,同时确定变量类型
(5)运算符
- JavaScript 运算符的使用和 Java 语言差不多。按操作数可分为一元、二元、三元运算符,按类型可分为算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符。在运算时按优先级顺序进行。
- JavaScript 里还有一些特殊运算符:
- 字符串连接运算符 “+”:该运算符可以将多个字符串连接在一起
- delete:删除对象
- typeof:返回一个可以标示类型的字符串
- void:函数无返回值
(6)控制语句
- 和其他语言一样,JavaScript 控制语句包括选择语句、循环语句、跳出语句。
(7)函数
- 在 JavaScript 中使用函数前,必须先定义,然后再在脚本中调用。JavaScript 中支持的函数分为两大类:一类是JavaScript 预定义函数,另一类是用户自定义函数。
【函数定义】
- 函数定义语法格式如下:
function 函数名(参数集合)
{
函数体
return 表达式;
}
- 函数由关键字 function 来定义,定义形式与其他语言类似。函数定义位置
通常在文档的头部,以便当文档被载入时首先载入函数。可使用 arguments.Length 来获得参数集合中参数的个数。
【预定义函数】
- 下面介绍几种常用的预定义函数
- eval 函数:对包含数字表达式的字符串求值。其语法格式为
eval(参数)
。 如果参数是数字表达式字符串,那么对该表达式求值;如果该参数代表一个或多个 JavaScript 语句,则执行这些语句;eval 还可以把一个日期从一中格式转换成数值表达式或数字。 - Number 和 String 函数:用来将一个对象转换为一个数字或字符串。其语法格式为:
Number(对象)、String(对象)
- parseInt 和 ParseFloat 函数:用来将字符串参数转换为一个数值。其语法格式为:
parseInt(str[,radix])、parseFloat(str)
。parseFloat 将字符串转换为一个浮点数。parseInt 基于指定的基数 radix 或底数之上返回一个整数。例如:若基数为10则将其转换为十进制,为8则转换为八进制。