第2章数据类型、常量与变量.ppt
《第2章数据类型、常量与变量.ppt》由会员分享,可在线阅读,更多相关《第2章数据类型、常量与变量.ppt(66页珍藏版)》请在沃文网上搜索。
1、第第2章章数据类型、常量与变量数据类型、常量与变量l在计算机程序中都是通过值(在计算机程序中都是通过值(value)来进行)来进行运算的,能够表示并操作值的类型为数据类型。运算的,能够表示并操作值的类型为数据类型。在本章里将会介绍在本章里将会介绍JavaScript中的常量中的常量(literal)、变量()、变量(variable)和数据类型)和数据类型(datatype)。)。2.1基本数据类型基本数据类型lJavaScript中支持数字、字符串和布尔值三种中支持数字、字符串和布尔值三种基本数据类型,以下是对这三种基本数据类型基本数据类型,以下是对这三种基本数据类型的介绍。的介绍。2.1.
2、1字符串型字符串型l字符串型是字符串型是JavaScript中用来表示文本的数据中用来表示文本的数据类型,是由类型,是由Unicode字符、数字和标点符号组字符、数字和标点符号组成的一个字符串序列。字符串通常都是用单引成的一个字符串序列。字符串通常都是用单引号或双引号括起来的。如果在字符串中包括着号或双引号括起来的。如果在字符串中包括着特殊字符,可以使用转义字符来代替。特殊字符,可以使用转义字符来代替。l在在JavaScript中,字符串型数据是用引号括起的文中,字符串型数据是用引号括起的文本字符串。本字符串。l在在JavaScript中不区分中不区分“字符字符”和和“字符串字符串”,字符,字
3、符也被当作字符串处理。字符串中可以包含用于特殊目也被当作字符串处理。字符串中可以包含用于特殊目的字符的字符。01/脚本程序开始脚本程序开始02072.1.2数字型数字型l数字型也是数字型也是JavaScript中的基本数据类型。在中的基本数据类型。在JavaScript中的数字不区分整型和浮点型,所中的数字不区分整型和浮点型,所有的数字都是以浮点型来表示的。有的数字都是以浮点型来表示的。JavaScript中的数字的有效范围大约为中的数字的有效范围大约为10-30810308之间。之间。表示方法如下所示:表示方法如下所示:10;/数字数字10.1;/数字数字0.1;/数字数字3e7;/科学记数
4、科学记数0.3E7;/科学记数科学记数2.1.3布尔型布尔型l布尔型比较简单,只有两个值,即代表真的布尔型比较简单,只有两个值,即代表真的“true”和代表假的和代表假的“false”。布尔值通常。布尔值通常是通过比较得来的,如以下代码:是通过比较得来的,如以下代码:lx2l在上面代码中,如果在上面代码中,如果x等于等于2,则返回,则返回true,如,如果果x不等于不等于2,则返回,则返回false。2.2复合数据类型复合数据类型l除了基本的数据类型之外,除了基本的数据类型之外,JavaScript还支持还支持复合数据类型,复合数据类型包括对象和数组复合数据类型,复合数据类型包括对象和数组两种
5、。两种。2.2.1对象对象l对象其实就是一些数据的集合,这些数据可以是字对象其实就是一些数据的集合,这些数据可以是字符串型、数字型、布尔型,也可以是复合型。对象符串型、数字型、布尔型,也可以是复合型。对象中的数据是已命名的数据,通常作为对象的属性来中的数据是已命名的数据,通常作为对象的属性来引用。例如一个引用。例如一个Math对象有一个名为对象有一个名为PI的属性,的属性,可以通过以下方法来引用:可以通过以下方法来引用:lMath.PIlJavaScript中的对象除了拥有属性之外,还可以拥中的对象除了拥有属性之外,还可以拥有方法。例如一个窗口(有方法。例如一个窗口(Window)对象有一个名
6、)对象有一个名为为alert的方法,可以通过以下方法来引用:的方法,可以通过以下方法来引用:window.alert(message)l日期对象日期对象JavaScript将与日期相关的所有特性封装进将与日期相关的所有特性封装进Date对象,主要用来进行一些与时间相关的操作,比如对象,主要用来进行一些与时间相关的操作,比如获取当前系统时间,使用前要先创建该对象的一个获取当前系统时间,使用前要先创建该对象的一个实例:实例:ldate=newDate();/直接创建直接创建ldate=newDate(y,m,d,h,min,sec,ms);/指定日期创建指定日期创建复合数据类型l全局对象。全局对象
7、。l全局对象是所有全局方法的拥有者,用来统一全局对象是所有全局方法的拥有者,用来统一管理全局方法,全局方法也就是指全局函数。管理全局方法,全局方法也就是指全局函数。该对象不能使用该对象不能使用new运算符创建对象实例,所运算符创建对象实例,所有方法直接调用即可。有方法直接调用即可。l数学对象数学对象l数学对象(数学对象(Math)封装了与数学相关的特性,)封装了与数学相关的特性,包括一些常数和数学函数,主要使用简单一些包括一些常数和数学函数,主要使用简单一些基本的数学计算。比如求正弦、正切、余弦、基本的数学计算。比如求正弦、正切、余弦、取绝对值等。取绝对值等。l下面是这个对象的应用实例。下面是
8、这个对象的应用实例。复合数据类型01/脚本程序开脚本程序开始始02 08 从从Math对象中获取圆周率常数,计算一个半对象中获取圆周率常数,计算一个半径为径为2单位的圆的面积单位的圆的面积复合数据类型l字符串对象字符串对象lString对象封装了与字符串有关的特性,主要用来处理字对象封装了与字符串有关的特性,主要用来处理字符串。通过符串。通过String对象,可以对字符串进行剪切、合并、对象,可以对字符串进行剪切、合并、替换等等。可以调用该对象的构造函数创建一个实例,其替换等等。可以调用该对象的构造函数创建一个实例,其实在定义一个字符串类型变量时就也创建了一个实在定义一个字符串类型变量时就也创
9、建了一个String对对象实例。象实例。l调用调用String对象的方法或属性形式如对象的方法或属性形式如“对象名对象名.方法名方法名”或或“对象名对象名.属性名属性名”,构造函数如下:,构造函数如下:String(strVal);。l看这样的一个实例,看这样的一个实例,文本串中将李白文本串中将李白静夜思静夜思的各个部的各个部分分别提取出来,并格式化输出。标题加粗,文本居中对分分别提取出来,并格式化输出。标题加粗,文本居中对齐,诗歌正文颜色为灰色。齐,诗歌正文颜色为灰色。示例代码如下所示示例代码如下所示。复合数据类型0102!-03varcomment=静夜思李白床前明月光,疑是地上霜。举头望
10、明月,低头思故静夜思李白床前明月光,疑是地上霜。举头望明月,低头思故乡。乡。;/诗的内容诗的内容04varpartial=comment.substring(0,3);/取出标题取出标题05partial=partial.bold();/标题加粗标题加粗06document.write();/输出输出HTML标签标签“”,并设置居中对齐并设置居中对齐07document.write(partial);/输出标题输出标题08partial=comment.slice(3,5);/取出作者取出作者09document.write();/输出换行标签输出换行标签10document.write(pa
11、rtial);/输出作者输出作者11partial=comment.slice(5,17);/取出第一句诗文取出第一句诗文12partial=partial.fontcolor(gray);/设置颜色为设置颜色为gray(灰色)(灰色)13document.write();/输出换行标签输出换行标签14document.write(partial);/输出诗句输出诗句15partial=comment.slice(17,29);/取出第二句诗文取出第二句诗文16partial=partial.fontcolor(gray);/设置颜色为设置颜色为gray(灰色)(灰色)17document.w
12、rite();/输出换行标签输出换行标签18document.write(partial);/输出诗句输出诗句19document.write();/输出输出HTML标签标签“”的的结束标签结束标签20-212.2.2数组数组l数组与对象一样,也是一些数据的集合,这些数据数组与对象一样,也是一些数据的集合,这些数据也可以是字符串型、数字型、布尔型,或者是复合也可以是字符串型、数字型、布尔型,或者是复合型。与对象不同的,数组中的数据并没有被命名,型。与对象不同的,数组中的数据并没有被命名,即数组的中数据没有名字,因此不能通过名字来引即数组的中数据没有名字,因此不能通过名字来引用该数据。在数组中为
13、每个数据都编了一个号,这用该数据。在数组中为每个数据都编了一个号,这个号称为数组的下标。在个号称为数组的下标。在JavaScript中数组的下标中数组的下标是从是从0开始,通过使用数组名加下标的方法可以获取开始,通过使用数组名加下标的方法可以获取数组中的某个数据。如以下代码分别获取名为数组中的某个数据。如以下代码分别获取名为abc数组的第数组的第1个和第个和第3个数据:个数据:labc0labc2l内部对象内部对象Array封装了所有和数组相关的方法和属性,其封装了所有和数组相关的方法和属性,其内存在多个数据段组合存储。可以形象的理解为一种有很内存在多个数据段组合存储。可以形象的理解为一种有很
14、多连续房间的楼层,每个房间都可以存放货物,提取货物多连续房间的楼层,每个房间都可以存放货物,提取货物时只需要给出楼层号和房间编号即可时只需要给出楼层号和房间编号即可。l下面是一个实例,创建一个数组用于保存古代几个大诗人下面是一个实例,创建一个数组用于保存古代几个大诗人的名字,通过遍历数组逐一输出每个诗人的名字的名字,通过遍历数组逐一输出每个诗人的名字。01/脚本程序开始脚本程序开始02!-03varpoets=newArray(王维王维,杜甫杜甫,李白李白,白居易白居易);/创建数组创建数组04document.write(古代几个大诗人:古代几个大诗人:);/输出标题输出标题05for(ni
15、npoets)/逐个输出数组元素逐个输出数组元素0607document.write(+poetsn);/输出诗人的名字输出诗人的名字0809-102.3其他数据类型其他数据类型l除了基本数据类型与复合数据类型之外,除了基本数据类型与复合数据类型之外,JavaScript还支持函数、还支持函数、Null与与Undefined三三种其他数据类型。种其他数据类型。2.3.1函数函数l函数(函数(function)是一段可执行的)是一段可执行的JavaScript代码,代码,函数具有一次定义多次使用的特点。在函数具有一次定义多次使用的特点。在JavaScript中的函数可以带有中的函数可以带有0个或
16、多个参数。在函数体中执个或多个参数。在函数体中执行完行完JavaScript代码之后,也可以返回一个或不返代码之后,也可以返回一个或不返回值。在回值。在JavaScript中提供了很多预定义的函数,中提供了很多预定义的函数,如用于检测非数字值的如用于检测非数字值的isNaN()函数、用于计算平函数、用于计算平方根的方根的Math.sqrt()函数等等。其使用方法如下所函数等等。其使用方法如下所示:示:lvarbFlag=isNaN(0/0);lvarx=Math.sqrt(100);2.3.2nulllnull是一个特殊的数据类型,其所代表的意思是一个特殊的数据类型,其所代表的意思为为“空空”
17、。需要注意,这个。需要注意,这个“空空”并不代表是并不代表是0或空字符串。数字或空字符串。数字0代表的是数字,是数字型代表的是数字,是数字型的数据;空字符串代表的是长度为的数据;空字符串代表的是长度为0的字符串,的字符串,是字符串类型的数据。而是字符串类型的数据。而null代表没有值,不代表没有值,不是一个有效的数字、字符串,也不是数组、对是一个有效的数字、字符串,也不是数组、对象和函数,什么数据类型都不是。象和函数,什么数据类型都不是。编写程序,测试编写程序,测试null值值,示例代码如下所示。,示例代码如下所示。l01/脚本程序开始脚本程序开始l02!-l03varx=10;/定义变量定义
18、变量x,并给其赋值,并给其赋值10l04vary=null;/定义变量定义变量y,并赋一个空值,表示,并赋一个空值,表示“什么都没有什么都没有”l05if(x=null)/如果如果x为空值则为空值则l06l07document.write(x的值为空的值为空);/输出提示输出提示l08l09if(y=null)/如果如果y为空则为空则l10l11document.write(y的值为空的值为空);/输出提示输出提示l12l13-l142.3.3undefinedlundefined也是一个特殊的数据类型,只有定义也是一个特殊的数据类型,只有定义了一个变量但没有为该变量赋值、使用了一个并了一个变
19、量但没有为该变量赋值、使用了一个并未定义的变量、或者是使用了一个不存的对象的未定义的变量、或者是使用了一个不存的对象的属性时,属性时,JavaScript才会返回才会返回undefined。通常。通常用来判断一个变量是否已经赋值。用来判断一个变量是否已经赋值。lnull值表示一个变量拥有空值。可以理解为已经把值表示一个变量拥有空值。可以理解为已经把给给“空空”给了某个变量,而给了某个变量,而undefined则表示一个则表示一个变量什么都没有得到,连变量什么都没有得到,连“空空”都没有。都没有。2.4数据类型的转换数据类型的转换lJavaScript支持字符串型、数字型、布尔型等支持字符串型、
20、数字型、布尔型等数据类型,当这些数据类型之间需要进行运算数据类型,当这些数据类型之间需要进行运算时,就必须将不同的数据类型转换为相同的数时,就必须将不同的数据类型转换为相同的数据类型。据类型。2.4.1隐式类型转换隐式类型转换lJavaScript是一种无类型(是一种无类型(notype)的语言,)的语言,这种这种“无类型无类型”并不是指并不是指JavaScript没有数据没有数据类型,而是指类型,而是指JavaScript是一种松散类型、动是一种松散类型、动态类型的语言。因此,在态类型的语言。因此,在JavaScript中定义一中定义一个变量时,是不需要指定变量的数据类型,这个变量时,是不需
21、要指定变量的数据类型,这就使得就使得JavaScript可以很方便灵活地进行隐式可以很方便灵活地进行隐式类型转换。类型转换。2.4.2显式类型转换显式类型转换l在在JavaScript中除了可以隐式转换数据类型之中除了可以隐式转换数据类型之外,还可以显式转换数据类型。显式转换数据外,还可以显式转换数据类型。显式转换数据类型,可以增强代码的可读性。类型,可以增强代码的可读性。l1.数字转换为字符串数字转换为字符串a.要把一个数字转换为字符串,只要给它添加一个空的要把一个数字转换为字符串,只要给它添加一个空的字符串即可:字符串即可:varn=100;varn_as_string=n+;b.要让数字
22、更加显式地转换为字符串要让数字更加显式地转换为字符串,可以使用可以使用String()函数函数:varstring_value=String(number);c.使用使用toString()方法方法:string_value=number.toString();Number对象的(基本的数字转换为对象的(基本的数字转换为Number对象,以便对象,以便可以调用这个方法)可以调用这个方法)toString()方法有一个可选的参数,方法有一个可选的参数,该参数用来指定转换的基数。如果不指定这个参数,转该参数用来指定转换的基数。如果不指定这个参数,转换会以换会以10为基数进行。然而,也可以按照其他的
23、基数为基数进行。然而,也可以按照其他的基数(2到到36之间的数)来转换数字。之间的数)来转换数字。l例如:varn=17;binary_string=n.toString(2);/Evaluatesto10001octal_string=0+n.toString(8);/Evaluatesto021hex_string=0 x+n.toString(16);/Evaluatesto0 x11ld.toFixed()方法把一个数字转换为字符串,并且显示小数方法把一个数字转换为字符串,并且显示小数点后的指定的位数。它不使用指数表示法。点后的指定的位数。它不使用指数表示法。varn=123456.7
24、89;n.toFixed(0);/123457n.toFixed(2);/123456.79“le.toExponential()使用指数表示法把一个数字转换为字符使用指数表示法把一个数字转换为字符串,小数点前面有串,小数点前面有1位数,而小数点后面有特定的位数。位数,而小数点后面有特定的位数。varn=123456.789;n.toExponential(1);/1.2e+5n.toExponential(3);/1.235e+5“lf.toPrecision(num)返回返回f的字符串表示,包含的字符串表示,包含num个有个有效数字。如果效数字。如果num足够大,能够包括足够大,能够包括N
25、umberObject整整数部分的所有数字,那么返回的字符串将采用定点计数法。数部分的所有数字,那么返回的字符串将采用定点计数法。否则,采用指数计数法,即小数点前有一位数字,小数点否则,采用指数计数法,即小数点前有一位数字,小数点后有后有num-1位数字。必要时,该数字会被舍入或用位数字。必要时,该数字会被舍入或用0补补足。足。varn=123456.789;n.toPrecision(4);/1.235e+5n.toPrecision(7);/123456.8l2.字符串转换为数字字符串转换为数字a.将一个字符串转换为数字的一种缺少些技巧但是很清楚将一个字符串转换为数字的一种缺少些技巧但是很
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第2章 数据类型、常量与变量 数据类型 常量 变量