文章教程

2.7数据类型与变量

9/17/2020 9:40:31 PM 人评论 次浏览

2.7 数据类型与变量

数据类型是对一种数据的描述,任何一种程序语言都可以处理多种数据。有些数据的值是不确定的,在不同的时刻有不同的取值,在JavaScript语言中用变量来处理这些数据。

2.7.1 数据类型

JavaScript中的数据类型主要包括以下3类。

简单数据类型:JavaScript中常用的3种基本数据类型分别是数值数据类型(number)、文本数据类型(string)和布尔数据类型(boolean)。

复合数据类型:主要包括用来保存一组相同或不同数据类型数据的数组;用来保存一段程序,这段程序可以在JavaScript中反复被调用;用来保存一组不同类型的数据和函数等的对象。

特殊数据类型:主要包括没有值存在的空数据类型null和没有进行定义的无定义数据类型undefined。

1.基本数据类型

1)数值数据类型

数值数据类型的值就是数字,例如,3、6.9、-7等都是数值类型数据。在JavaScript中没有整数和浮点数之分,无论什么样的数字,都属于数字型,其有效范围在10-308~10308之间。大于10308的数值,超出了数值类型的上限,即无穷大,用Infinity表示;小于10-308的数值,超出了数值类型的下限,即无穷小,用-Infinity表示。如果JavaScript在进行数学运算时产生了错误或不可预知的结果,就会返回NaN(Not a Number)。NaN是一个特殊的数字,属于数值型。

2)字符串数据类型

字符串数据类型是由双引号(" ")或单引号(' ')括起来的0个或多个字符组成的序列,它可以包括大小写字母、数字、标点符号或其他可显示字符以及特殊字体,也可以包含汉字、一些字符串示例及其解释,如表2-5所示。

表2-5 字符串示例

字符串 解释
"Hello Howin!" 字符串为:Hello Howin!
"英达,你好!" 字符串为:英达,你好!
"z" 含单个字符z的字符串
's' 含单个字符s的字符串
" " 不含任何字符的空字符串
" " 由空格构成的字符串
" 'Hello!' I said" 字符串为:‘Hello!’I said
' "Hello"! I said' 字符串为:“Hello”! I said

在使用字符串时,应注意以下几点。

(1)作为字符串定界符的引号必须匹配。即字符串前面使用的引号是成对的。在用双引号做定界符的字符串中可以直接含有单引号,而在用单引号做定界符的字符串中也可以直接含有双引号。

(2)空字符串中不包含任何字符,用一对引号表示,引号之间不包含任何空格。

(3)引号必须是在英文输入法状态下输入的。

通过转义字符“\”可以在字符串中添加不可显示的特殊字符,或者防止引号匹配混乱问题。常用转义字符如表2-6所示。

表2-6 常用转义字符及含义

转义字符 含义
\b 退格
\f 换页
\n 换行
\t TAB符号
\' 单引号
\" 双引号
\\ 反斜杠

3)布尔型

布尔(boolean)型也就是逻辑型,主要进行逻辑判断,它只有两个值true和false,分别表示真和假。在JavaScript中可以用0表示flase,非0整数表示true。

2.复合数据类型

1)数组

在JavaScript中数组主要用来保存一组相同或不同数据类型的数据。

2)函数

在JavaScript中函数用来保存一段程序,这段程序可以在JavaScript中反复被调用。

3)对象

在JavaScript中对象用来保存一组不同类型的数据和函数等。

3.特殊数据类型

1)无定义数据类型undefined

undefined的意思是“未定义的”,表示没有进行定义,通常只有执行JavaScript代码时才会返回该值。在以下几种情况下通常都会返回undefined。

(1)在引用一个定义过但没有赋值的变量时,会返回undefined。

(2)在引用一个不存在的数组元素时,会返回undefined。

(3)在引用一个不存在的对象属性时,会返回undefined。

提 示

由于undefined是一个返回值,因此,可以对该值进行操作,如输出该值或将该值与其他值作比较。

2)空数据类型null

null的中文意思是“空”,表示没有值存在,与字符串、数值、布尔、数组、对象、函数和undefined都不同。在作比较时,null也不会与以上任何数据类型相等。

2.7.2 变量

变量,顾名思义,在程序运行过程中,其值可以改变。变量是存储信息的单元,它对应于某个内存空间。变量用于存储特定数据类型的数据。用变量名代表其存储空间。程序能在变量中存储值和取出值。可以把变量比作超市的货架(内存),货架上摆放着商品(变量),可以把商品从货架上取出来(读取),也可以把商品放入货架(赋值)。

1.标识符

用JavaScript编写程序时,很多地方都要求用户给定名称。例如,JavaScript中的变量、函数等要素定义时都要求给定名称。可以将定义要素时使用的字符序列称为标识符。这些标识符必须遵循如下命名规则。

(1)标识符只能由字母、数字、下划线和中文组成,而不能包含空格、标点符号、运算符等其他符号。

(2)标识符的第一个字符必须是字母、下划线或者中文。

(3)标识符不能与JavaScript中的关键字名称相同,例如if、else等。

例如,下面为合法的标识符:

  UserName
  Int2
  _File_Open
  Sex

例如,下面为不合法的标识符:

  99BottlesofBeer
  Namespace
  It's-All-Over
2.变量的声明

JavaScript是一种弱类型的程序设计语言,变量可以不声明直接使用。所谓声明变量是指为变量指定一个名称。声明变量后,就可以把它们用做存储单元。

1)声明变量

JavaScript中使用关键字“var”声明变量,在这个关键字之后的字符串将代表一个变量名。其格式为:

  var 标识符;

例如,声明变量username,用来表示用户名,代码如下。

  var username;

另外,一个关键字var也可以同时声明多个变量名,多个变量名之间必须用逗号“,”分隔,例如,同时声明变量username、pwd、age,分别表示用户名、密码和年龄,代码如下。

  var username,pwd,age;

2)变量赋值

要给变量赋值,可以使用JavaScript中的赋值运算符,即等于号(=)。

声明变量名并赋值,例如,声明变量username,并赋值为“张三”,代码如下。

  var username= "张三";

声明变量之后,对变量赋值,或者对未声明的变量直接赋值。例如,声明变量age,然后再为它赋值,直接对变量count赋值。

  var age;     //声明变量
  age=18;     //对已声明的变量赋值
  count=4;    //对未声明的变量直接赋值

提 示

JavaScript中的变量如果未初始化(赋值),则默认值为undefined。

教程类别