JavaScript 的数据类型

  • 1. 概述
  • 2. 数值型
  • 2.1 概述
  • 2.2 八进制
  • 2.3 十进制
  • 2.4 十六进制
  • 2.5 浮点型数据
  • 2.6 特殊值 Infinity
  • 2.7 特殊值 NaN
  • 3. 字符串型
  • 4. 布尔型
  • 5. 特殊数据类型
  • 5.1 未定义值
  • 5.2 空值(null)


1. 概述

JavaScript 的数据类型分为基本数据类型复合数据类型

2. 数值型

2.1 概述

数值型 是最基本的数据类型;
JavaScript 和其他程序语言(如 C 和 Java)的不同之处在于,它不区分整型数值和浮点型数值
JavaScript 中,所有的数值都由浮点型表示的;
JavaScript 采用 IEEE754 标准定义的 64 位浮点格式表示数字,即它能表示的最大值是 ± 1.7976931348623157e+308,最小值是 5e-324;
当一个数字直接出现在 JavaScript 中,称之为数值直接量,JavaScript 支持的数值直接量的形式有6种;

2.2 八进制

ECMAScritp 标准不支持八进制数据,但 JavaScript 的某些实现缺允许采用八进制(基数为8)格式的整型数据;
八进制数据以数字 0 开头,再跟随一个数字序列,这个序列中的每个数字都为 0~ 7 的整数(包括 0 和 7);
示例如下:

06
0236

由于某些 JavaScript 实现支持八进制数据,而有些则不支持,因此最好不要采用以 0 开头的整型数据,因为不知道某个 JavaScript 的实现是将其解释为十进制,还是解释为八进制;

<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			document.write("数字234不同进制的输出结果:")
			document.write("<p>十进制:")
			document.write(234)
			document.write("<br />八进制")
			document.write(0234)
			document.write("<br />十六进制")
			document.write(0X234)
		</script>
	</body>
</html>

JavaScript数据类型有哪几种 javascript的数据类型_字符串

2.3 十进制

JavaScript 中,十进制的整数是一个由 0~9 组成的数字序列;
示例如下:

9
5
-20
110

2.4 十六进制

JavaScript 不但能处理十进制的整型数据,还能识别十六进制(以 16 为基数) 的数据;
十六进制数据,是以 “0X” 或 “0x” 开头,再跟随十六进制的数字序列;
十六进制的数字是由 0~9 的 10 个数字,以及 a(A)~ f(F)6 个字母组成的数字组成,它们用来表示 0~15(包括 0 和 15)的某个值;
示例如下:

0Xaa
0X234
0xCAFE911

2.5 浮点型数据

浮点型数据能具有小数点,表示方法有两种:

  1. 传统记数法
    传统记数法是将一个浮点数分为整数部分、小数点和小数部分,若整数部分为 0 ,能省略整数部分;
    示例如下:
2.2
55.23
366
  1. 科学计数法
    科学计数法表示浮点型数据,即实数后跟随字母 e 或 E,再加上一个带正号或负号的整数指数,正号能省略;
    示例如下:
5e+3
3.11e12
123E-11

注意: 在科学记数法中,e 或 E 后面的整数表示 10 的指数次幂,这种记数法表示的数值等于前面的实数乘以 10 的指数次幂;

<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			document.write("科学记数法表示的浮点数的输出结果:")
			document.write("<p>")
			document.write(4E+5)
			document.write("<br />")
			document.write(4.5e3)
			document.write("<br />")
			document.write(1.34E-3)
		</script>
	</body>
</html>

JavaScript数据类型有哪几种 javascript的数据类型_JavaScript数据类型有哪几种_02

2.6 特殊值 Infinity

JavaScript 中有一个特殊的数值 Infinity(无穷大),若一个数值超出 JavaScript 所能表示的最大值范围,JavaScript 就会输出 Infinity;
若一个数值超出 JavaScript 所能表示的最小值范围,JavaScript 就会输出 -Infinity;

2.7 特殊值 NaN

JavaScript 中还要一个特殊的值 NaN,即 “非数字”;
在进行数学运算时产生了未知的结果或错误,JavaScript 就会返回 NaN,它表示该数学运算的结果是一个非数字;
如,用 0 除以 0 的输出结果就是 NaN;

3. 字符串型

字符串是由 0 个或多个字符组成的序列,它能包含大小写字母、数字、标点符号或其他字符,也可以包含中文;
它是 JavaScript 用来表示文本的数据类型;
程序中的字符串型数据时包含在单引号双引号中的,由单引号定界的字符串中能包含双引号,由双引号定界的字符串中也能包含单引号
注意: 空字符串不包含任何字符,也不包含任何空格,用一对引号表示," " 或 ’ ';
示例如下:

  1. 单引号括起来的字符
    ‘您好’
    ‘techer’
  2. 双引号括起来的字符
    “123”
    “JavaScript”
  3. 单引号定界的字符中能包含双引号
    ‘ccc"d’
    '132"321" ’
  4. 双引号定义的字符串中能包含单引号
    “I’m teacher”
    "hello ‘Tom’ "

注意: 包含字符串的引号必须匹配,若字符串前面使用的是双引号,在字符串后面也必须使用双引号,反之都使用单引号;

有时会出现,字符串中使用的引号会产生匹配混乱的问题;

“字符串是包含在单引号’或双引号"中的”

这时要使用转义字符;JavaScript 的转义字符是==“\”==,通过转义字符能在字符添加不可显示的特殊字符,或防止引号匹配混乱的问题;

“字符串是包含在单引号’或双引号"中的”

JavaScript数据类型有哪几种 javascript的数据类型_javascript_03

<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			document.write("I like 'HTML'");
			document.write("<br	/>")
			document.write('I like "HTML"');
			document.write("<br />")
			document.write("I like \"HTML\"");
			document.write("<br />")
			document.write('I like \'HTML\'');
		</script>
	</body>
</html>

JavaScript数据类型有哪几种 javascript的数据类型_字符串_04

4. 布尔型

数值数据类型和字符串数据类型的值都是无穷多,但布尔数据类型只有两个值,TRUE(真)或 FALSE(假),它说明了某个事务是真还是假;
布尔值常用在 JavaScript 中作为比较所得的结果;
布尔值常用在 JavaScript 的控制结构;

5. 特殊数据类型

5.1 未定义值

未定义值就是 undefined,表示变量还没赋值(如 var b:);

5.2 空值(null)

JavaScript 中的关键字 null 是一个特殊的值,它表示为空值,用来定义空的或不存在的引用;
注意: null 不等于空的字符串(" ")或 0;
当使用对象进行编程时可能会用到这个值;
null 与 undefined 的区别是:null 表示一个变量被赋予了一个空值,而 undefined 则表示该变量尚未被赋值;