




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章 数据类型、常量与变量 在计算机程序中都是通过值(value)来进行运算 的,能够表示并操作值的类型为数据类型。在本 章里将会介绍JavaScript中的常量(literal)、 变量(variable)和数据类型(data type)。 2.1 基本数据类型 JavaScript中支持数字、字符串和布尔值三种基 本数据类型,以下是对这三种基本数据类型的介 绍。 2.1.1 字符串型 字符串型是JavaScript中用来表示文本的数据类 型,是由Unicode字符、数字和标点符号组成的一 个字符串序列。字符串通常都是用单引号或双引 号括起来的。如果在字符串中包括着特殊字符, 可以使用转义字符来代替。 2.1.2 数字型 数字型也是JavaScript中的基本数据类型。在 JavaScript中的数字不区分整型和浮点型,所有 的数字都是以浮点型来表示的。JavaScript中的 数字的有效范围大约为10-30810308之间。 2.1.3 布尔型 布尔型比较简单,只有两个值,即代表真的 “true”和代表假的“false”。布尔值通常是通 过比较得来的,如以下代码: x 2 在上面代码中,如果x等于2,则返回true,如果x 不等于2,则返回false。 2.2 复合数据类型 除了基本的数据类型之外,JavaScript还支持复 合数据类型,复合数据类型包括对象和数组两种 。 2.2.1 对象 对象其实就是一些数据的集合,这些数据可以是 字符串型、数字型、布尔型,也可以是复合型。 对象中的数据是已命名的数据,通常作为对象的 属性来引用。例如一个超链接(Link)对象有一 个名为text的属性,可以通过以下方法来引用: link.text JavaScript中的对象除了拥有属性之外,还可以 拥有方法。例如一个窗口(Window)对象有一个 名为alert的方法,可以通过以下方法来引用: window.alert(message) 2.2.2 数组 数组与对象一样,也是一些数据的集合,这些数 据也可以是字符串型、数字型、布尔型,或者是 复合型。与对象不同的,数组中的数据并没有被 命名,即数组的中数据没有名字,因此不能通过 名字来引用该数据。在数组中为每个数据都编了 一个号,这个号称为数组的下标。在JavaScript 中数组的下标是从0开始,通过使用数组名加下标 的方法可以获取数组中的某个数据。如以下代码 分别获取名为abc数组的第1个和第3个数据: abc0 abc1 2.3 其他数据类型 除了基本数据类型与复合数据类型之外, JavaScript还支持函数、Null与Undefined三种其 他数据类型。 2.3.1 函数 函数(function)是一段可执行的JavaScript代 码,函数具有一次定义多次使用的特点。在 JavaScript中的函数可以带有0个或多个参数。在 函数体中执行完JavaScript代码之后,也可以返 回一个或不返回值。在JavaScript中提供了很多 预定义的函数,如用于检测非数字值的isNaN()函 数、用于计算平方根的Math.sqrt()函数等等。其 使用方法如下所示: var bFlag = isNaN(0/0); var x = Math.sqrt(100); 2.3.2 null null是一个特殊的数据类型,其所代表的意思为 “空”。需要注意,这个“空”并不代表是0或空 字符串。数字0代表的是数字,是数字型的数据; 空字符串代表的是长度为0的字符串,是字符串类 型的数据。而null代表没有值,不是一个有效的 数字、字符串,也不是数组、对象和函数,什么 数据类型都不是。 2.3.3 undefined undefined也是一个特殊的数据类型,只有定义了 一个变量但没有为该变量赋值、使用了一个并未 定义的变量、或者是使用了一个不存的对象的属 性时,JavaScript才会返回undefined。 2.4 数据类型的转换 JavaScript支持字符串型、数字型、布尔型等数 据类型,当这些数据类型之间需要进行运算时, 就必须将不同的数据类型转换为相同的数据类型 。 2.4.1 隐式类型转换 JavaScript是一种无类型(notype)的语言,这 种“无类型”并不是指JavaScript没有数据类型 ,而是指JavaScript是一种松散类型、动态类型 的语言。因此,在JavaScript中定义一个变量时 ,是不需要指定变量的数据类型,这就使得 JavaScript可以很方便灵活地进行隐式类型转换 。 2.4.2 显式类型转换 在JavaScript中除了可以隐式转换数据类型之外 ,还可以显式转换数据类型。显式转换数据类型 ,可以增强代码的可读性。显式类型转换的方法 有以下两种: 2.4.2.1 将对象转换成字符串 2.4.2.2 基本数据类型转换 2.5 常量 常量(Literals)通常用来表示一个固定的值, 这个值是不会被改变的,在JavaScript中常量分 为布尔常量、整数常量、浮点常量、字符串常量 和数组常量五种。常量可以直接出现在 JavaScript的程序中。 2.5.1 整数常量 在JavaScript中的数字可以分为整数与浮点数两 种。当一个整数直接出现在JavaScript程序中时 ,这个整数就是整数常量。在JavaScript中整数 常量又可以分为以下三种: (1)十进制整数: (2)八进制整数: (3)十六进制整数: 2.5.2 浮点常量 浮点常量可以包含小数点,其表示方法有以下两 种: (1)传统记数法:传统记数法是将一个浮点数分 为三个部分, (2)科学记数法:当一个数字很大或很小的时候 ,可以使用科学记数法来表示。 2.5.3 字符串常量 字符串是由单引号()或双引号(“)括起来的 字符序列。其中字符序列的个数可以是零个或多 个。单引号所括起来的字符序列里可以包括双引 号,而双引号所括起来的字符序列里也可以包含 单引号。字符串常量必须写在一行中,如果换行 的话,JavaScript会认为是两个语句而产生错误 。 2.5.4 字符串中的转义字符 上一节中提到字符串常量必须使用单引号或双引 号括起来,如果一个字符串本身包含了单引号或 双引号,那应该怎么办?假设一个字符串如下所 示: JavaScript中可以包含单引号()或双引号(“ ) 2.5.5 布尔常量 布尔常量是比较简单的一种常量,只有两种值, 一种是true(真),一种是false(假)。在有些 时候,JavaScript也可以把0和1分别看成false和 true。布尔常量常用于条件判断语句中。 2.5.6 数组常量 数组就是一些数据的集合,在JavaScript中数组 中的数据可以是任何数据类型,包括数组。数组 的定义方法如下所示:数组名 = 数组值1 , 数 组值2 , 数组值3 2.6 变量 变量(variable)是相对常量而言的,常量通常 是一个不会改变的固定值,而变量是对应到某个 值的一个符号,这个符号中的值可能会随着程序 的执行而改变,因此称为“变量”。在很多情况 下,变量又称为标识符(identifier)。 2.6.1 变量的命名方式 变量可以用来存储数据,JavaScript中是通过变 量名来调用这些被存储的数据。变量名必须以 ASCII字符或下划线(_)开头,第1个字母不能是 数字,但其后可以是数字或其他字母。 2.6.2 变量类型 JavaScript与其他程序语言之间有些区别,其他 程序语言大多需要为变量指定一个数据类型,例 如将一个变量指定为整数型,那么这个变量就只 能存储整数型数据,不可以存储浮点型或其他类 型的数据。而JavaScript中的变量是没有类型( notype)的,这就意味着在JavaScript中的变量 可以是任何一种数据类型。 2.6.3 定义变量 在JavaScript中,使用一个变量之前,必须要先 定义该变量。只有在定义了一个变量之后,系统 才会准备一个内存空间来存储这个变量的值,而 程序员可以通过变量名来存储或读取变量的值。 在JavaScript中可以使用关键字var来定义一个变 量。 2.6.4 定义变量的注意事项 虽然在JavaScript中定义变量是一件十分简单的 事情,但是在定义变量时,有以下几点是需要注 意的: 2.6.4.1 重复定义变量 2.6.4.2 变量必须要先定义后使用 2.6.4.3 给未定义的变量赋值 2.6.4.4 引用未赋值的变量 2.6.5 变量的值 由于JavaScript的变量不需要指定数据类型,因此变量值 可以是任何类型的数据,包括:数字型(number):整数 型或浮点数,如:123或12.3。 布尔型:又称逻辑型(logical),只能是true或false。 字符串型(string):用单引号或双引号括起来的字符串 。 空值(null):这是一种特殊的类型,表示没有值,即该 变量为空。 未定义值(undefined):表示变量还没有被赋值。 2.6.6 变量的有效范围 变量可以根据其有效范围分为全局变量与局部变 量两种。其中全局(global)变量从定义开始, 到整个JavaScript代码结束为止,都可以使用; 而局部(local)变量只有在函数内部里才生效。 (具体内容请参照书。) 2.6.7 使用变量的注意事项 在使用变量的时候,有以下几点是需要注意的: 2.6.7.1 变量的优先级 2.6.7.2 在函数体内定义全局变量 2.6.7.3 嵌套函数体中的变量的有效范围 2.6.7.4 局部变量在整个函数体内都有效 2.7 保留字 在为变量命名时,是不能与JavaScript中的保留 字同名。因为这些保留字对于JavaScript来说具 有特殊意义,是JavaScript语法中的一部分。事 实上,保留字不但不能用作变量名,也不能用作 函数名以及循环标签。 2.7.1 JavaScript中的保留字 在JavaScript中一共有28个保留字,表2-2列出了 所有的JavaScript中的保留字,这些保留字不能 用作变量名、函数名以及循环标签。(具体内容 请参照书。) 2.7.2 ECMA中的保留字 除了JavaScript中的保留字之外,表2-3中是 ECMAScript扩展的保留字。使用这些保留字是 ECMAScript用来作为扩展语言所用的,在 JavaScript中不会阻止程序员使用这些保留字作 标识符,但是应该尽量避免使用。(具体内容请 参照书。) 2.7.3 避免使用的字符串 除了JavaScript中的保留字不能做标识符、ECMA 中的保留字不建议标识符之外,表2-4中的字符串 也尽量不要用来当作标识符使用,因为这些字符 串都是JavaScript与ECMAScript中的全局变量名 或全局函数名。如果使用这些字符串作为标识符 ,很容易
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年安徽淮北市卫生健康委直属医疗机构校园招聘(合肥站)30人笔试高频难、易错点备考题库及完整答案详解1套
- 2025年天津医学健康研究院第二批招聘工作实施方案(4人)考前自测高频考点模拟试题附答案详解(突破训练)
- 2024明达职业技术学院单招《英语》能力提升B卷题库附参考答案详解(基础题)
- 2024安全监察人员考试黑钻押题含答案详解【研优卷】
- 2025年成都海关关于所属事业单位考核招聘笔试备考题库参考答案详解
- 陕西省汉中市2024-2025学年八年级下学期7月期末考试道德与法治试卷(含答案)
- 2024年广东建设职业技术学院单招《物理》高分题库附答案详解(轻巧夺冠)
- 2025年辽宁科技学院招聘26人笔试备考题库含答案详解
- 2024年9月衡阳市直机关遴选公务员面试真题附带题目详解
- 2025年西林县妇女联合会招聘编外聘用人员(1人)模拟试卷含答案详解(培优b卷)
- 学前教育专业钢琴弹唱PPT全套教学课件
- 清华大学风景介绍
- SB/T 11004-2013电子提单(物权凭证)使用规范
- GB/T 16294-2010医药工业洁净室(区)沉降菌的测试方法
- GB/T 14486-2008塑料模塑件尺寸公差
- GB/T 14190-2017纤维级聚酯(PET)切片试验方法
- 《国际公法》全册配套完整课件
- 第三单元名著导读《朝花夕拾-二十四孝图》课件(15张PPT) 部编版语文七年级上册
- 特种设备管理台帐(5个台账)
- l领导干部心理健康知识讲座课件
- 经口鼻吸痰技术新版
评论
0/150
提交评论