首页 >web前端 >js教程 >JavaScript基本数据结构

JavaScript基本数据结构

高洛峰
高洛峰原创
2016-11-28 09:32:561136浏览

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

 

一,JavaScript代码的加入 

 

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

 

script language ="JavaScript">  

 

JavaScript语言代码; 

 

JavaScript 语言代码;  

 

.... 

 

/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>...标识放入head>.. 或 .../body>之间.将javascript标识放置... 在头部之间,使之在主页和其余部分代码之前装载,从而可使代码的功能更强大;可以将javascript标识放置在... /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> 


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn