太平洋软件资讯

JavaScript

 


第二讲 JavaScript基本数据结构

  JavaScript提供脚本语言的编程与C++非常相似,它只是去掉了C语言中有关指针等容易产生的错误,并提供了功能强大的类库。对于已经具备C++或C语言的人来说,学习JavaScript脚本语言是一件非常轻松愉快的事。

一、JavaScript代码的加入

  JavaScript的脚本包括在HTML中,它成为HTML文档的一部分。与HTML标识相结合,构成了一个功能强大的Internet网上编程语言。可以直接将JavaScript脚本加入文档:

<Script Language ="JavaScript">

JavaScript语言代码;

JavaScript 语言代码;

....

</Script>

说明:

  通过标识<Script>...</Script>指明JavaScript脚本源代码将放入其间。

  通过属性Language ="JavaScript"说明标识中是使用的何种语言,这里是JavaScript语言, 表示在JavaScript中使用的语言。

 

  下面是将JavaScript脚本加入Web文档中的例子:

Test2.html

<HTML>

<Head>

<Script Language ="JavaScript">

document. Write("这是电脑报网络学校");

document. close();

</Script>

</Head>

</HTML>

  在浏览器的窗口中调用test2.html,则显示“这是电脑报网络学校”字串。见图2所示。

图2

说明:

 Document. write()是文档对象的输出函数,其功能是将括号中的字符或变量值输出到窗口;document. close()是将输出关闭。

 可将<Script>...</Script>标识放入head>.. </Head>或<Body> ...</Body>之间。将JavaScript标识放置<Head>... </Head>在头部之间,使之在主页和其余部分代码之前装载,从而可使代码的功能更强大;可以将JavaScript标识放置在<Body>... </Body>主体之间以实现某些部分动态地创建文档。

 

二、基本数据类型

  JavaScript脚本语言同其它语言一样,有它自身的基本数据类型、表达式和算术运算符以及程序的基本框架结构。JavaScript提供了四种基本的数据类型用来处理数字和文字, 而变量提供存放信息的地方, 表达式则可以完成较复杂的信息处理。

1、基本数据类型

  在JavaScript中四种基本的数据类型:数值(整数和实数)、字符串型(用“”号或‘’括起来的字符或数值)、布尔型(使True或False表示)和空值。在JavaScript的基本类型中的数据可以是常量,也可以变量。由于JavaScript采用弱类型的形式,因而一个数据的变量或常量不必首先作声明,而是在使用或赋值时确定其数据的类型的。当然也可以先声明该数据的类型,它是通过在赋值时自动说明其数据类型的。

2、常量

 整型常量

JavaScript的常量通常又称字面常量,它是不能改变的数据。其整型常量可以使用十六进制、八进制和十进制表示其值。

 实型常量

实型常量是由整数部分加小数部分表示,如12.32、193.98 。可以使用科学或标准方法表示:5E7、4e5等。

 布尔值

布尔常量只有两种状态:True或False。 它主要用来说明或代表一种状态或标志,以说明操作流程。它与C++是不一样的,C++可以用1或0表示其状态,而JavaScript只能用True或False表示其状态。

 字符型常量

使用单引号(‘)或双引号(“)括起来的一个或几个字符。如 "This is a book of JavaScript "、"3245"、"ewrt234234" 等。

 空值

JavaScript中有一个空值null,表示什么也没有。如试图引用没有定义的变量,则返回一个Null值。

 特殊字符

同C语言一样,JavaScript中同样以有些以反斜杠(/)开头的不可显示的特殊字符。通常称为控制字符。

 

3、变量

  变量的主要作用是存取数据、提供存放信息的容器。对于变量必须明确变量的命名、变量的类型、变量的声明及其变量的作用域。

 变量的命名

JavaScript中的变量命名同其计算机语言非常相似,这里要注意以下两点:

A、必须是一个有效的变量,即变量以字母开头,中间可以出现数字如test1、text2等。除下划线(-)作为连字符外,变量名称不能有空格、(+)、(-)、(,)或其它符号。

B、不能使用JavaScript中的关键字作为变量。

在JavaScript中定义了40多个类键字,这些关键是JavaScript内部使用的,不能作为变量的名称。如Var、int、double、true不能作为变量的名称。

  在对变量命名时,最好把变量的意义与其代表的意思对应起来,以免出现错误。

 变量的类型

在JavaScript中,变量可以用命令Var作声明:

var mytest;

该例子定义了一个mytest变量。但没有赋予它的值。

Var mytest=”This is a book”

该例子定义了一个mytest变量, 同时赋予了它的值。

在JavaScript中,变量以可以不作声明,而在使用时再根据数据的类型来确其变量的类型。

如:

x=100

y="125"

xy= True

cost=19.5等。

其中x整数,y为字符串,xy为布尔型,cost为实型。

 变量的声明及其作用域

JavaScript变量可以在使用前先作声明,并可赋值。通过使用var关键字对变量作声明。对变量作声明的最大好处就是能及时发现代码中的错误;因为JavaScript是采用动态编译的,而动态编译是不易发现代码中的错误,特别是变量命名的方面。
对于变量还有一个重要性──那就是变量的作用域。在JavaScript中同样有全局变量和局部变量。全局变量是定义在所有函数体之外,其作用范围是整个函数;而局部变量是定义在函数体之内,只对其该函数是可见的,而对其它函数则是不可见的。

 

三、表达式和运算符

1、表达式

  在定义完变量后,就可以对它们进行赋值、改变、计算等一系列操作,这一过程通常又叫称一个叫表达式来完成,可以说它是变量、常量、布尔及运算符的集合,因此表达式可以分为算术表述式、字串表达式、赋值表达式以及布尔表达式等。

2、运算符

  运算符完成操作的一系列符号,在JavaScript中有算术运算符,如+、-、*、/等;有比较运算符如!=、==等; 有逻辑布尔运算符如!(取反)、|、||; 有字串运算如+ 、 +=等。
  在JavaScript主要有双目运算符和单目运算符。其双目运算符由下列组成:

操作数1 运算符 操作数2

  即由两个操作数和一个运算符组成。如50+40、"This"+"that"等。单目运算符,只需一个操作数,其运算符可在前或后。

(1)算术运算符

  JavaScript中的算术运算符有单目运算符和双目运算符。

双目运算符:

+(加) 、-(减)、 *(乘)、 /(除)、 %(取模) 、|(按位或)、&(按位与)、<<(左移)、 >>(右移)、 >>>(右移,零填充)。

单目运算符:

-(取反)、~(取补)、++(递加1)、--(递减1)。

(2)比较运算符

  比较运算符它的基本操作过程是,首先对它的操作数进行比较,尔后再返回一个true或False值,有8个比较运算符:

<(小于)、>(大于)、<=(小于等于)、>=(大于等于)、==(等于)、!=(不等于)。

(3)布尔逻辑运算符

  在JavaScript中增加了几个布尔逻辑运算符:

!(取反)、&=(与之后赋值)、 &(逻辑与)、 |=(或之后赋值)、 |(逻辑或)、 ^=(异或之后赋值)、 ^(逻辑异或)、 ?:(三目操作符)、||(或)、==(等于)、|=(不等于)。

  其中三目操作符主要格式如下:

操作数?结果1:结果2

  若操作数的结果为真,则表述式的结果为结果1,否则为结果2。

 

四、范例

  下面是一个跑马灯效果的JavaScript文档。

Test2_1.html

<html>

<head>

<script Language="JavaScript">

var msg="这是一个跑马灯效果的JavaScript文档";

var interval = 100;

var spacelen = 120;

var space10=" ";

var seq=0;

function Scroll() {

len = msg.length;

window.status = msg.substring(0, seq+1);

seq++;

if ( seq >= len ) {

seq = spacelen;

window.setTimeout("Scroll2();", interval );

}

else

window.setTimeout("Scroll();", interval );

}

function Scroll2() {

var out="";

for (i=1; i<=spacelen/space10.length; i++) out +=

space10;

out = out + msg;

len=out.length;

window.status=out.substring(seq, len);

seq++;

if ( seq >= len ) { seq = 0; };

window.setTimeout("Scroll2();", interval );

}

Scroll();

</script>

<body>

</body>

</html>

  本讲介绍了JavaScript脚本是如何加入Web页面, 并学习了JavaScript语言中的基本数据类型、变量、常量、操作运算符等。从本讲中的内容中可以看出,对于已经掌握C++语言的人来说,学习JavaScript真是一件非常轻松愉快的事。