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>