011_JavaScript数据类型

1. JavaScript有5种常用的数据类型: 字符串值(String), 数字(Number), 布尔值(Boolean), 数组(Array), 对象(Object)。

2. JavaScript有还有2种特殊的数据类型: 空(Null)、未定义(Undefined)。

3. JavaScript字符串

3.1. JavaScript字符串是引号中的零个或多个Unicode字符。

3.2. 字符串可以使用单引号或双引号:

var x = 'hello world';
var y = "hello world";

3.3. Java则是用双引号声明字符串, 用单引号声明字符。但是由于JavaScript没有字符类型, 所以可使用这两种表示法中的任何一种。

4. JavaScript数字

4.1. JavaScript只有一种数字类型(Number)。数字可以带小数点, 也可以不带。带小数点是浮点数, 不带小数点是整数。

4.2. 数字的取值范围: 5e-324 ~ 1.7976931348623157e+308 。

4.3. 特殊的数字类型: NaN(not a number)、Infinity(正无穷大)、-Infinity(负无穷大)。

4.4. 实例

var a = 100;
var b = 1.11;
var c = NaN;
var d = Infinity;
var e = -Infinity;

5. JavaScript布尔值

5.1. JavaScript布尔值只有两个值: true或false。

5.2. 实例

var x = true;
var y = false;

6. JavaScript数组

6.1. JavaScript数组用于在单一变量中存储多个值。

6.2. 创建数组最简单的方式是使用中括号[]包含项, 多个项用逗号分割。

6.3. 实例

var x = [];
var y = [0, true, 'hello world'];

6.4. 我们通过引用索引号(下标号)来引用某个数组元素。

6.5. 数组索引从0开始。[0]是数组中的第一个元素, [1]是第二个, 依此类推。

7. JavaScript对象

7.1. 创建对象最简单的方式是使用花括号{}包含项。

7.2. 在花括号内部是对象的属性, 属性以名称和值对的形式(name: value)来定义, 名称和值以冒号分割。

7.3. 在花括号内部的多个属性以逗号分割。

7.4. 实例

var x = {};
var y = {id: 100, name: 'zs', isMan: false};

8. Undefined类型

8.1. Undefined类型只有一个值, 即undefined。

8.2. undefined字面意思是未定义, 但是它却表示没有值的变量。即当声明的变量未初始化时, 该变量的默认值是undefined。

8.3. 下面这段代码, 第一行声明变量x, 没有初始值, 该变量将被赋予值undefined。第二行代码显示"true", 说明这两个值确实相等。

var x;
window.alert(x == undefined); //输出true

8.4. 值undefined并不同于未声明的变量。但是, typeof运算符并不真正区分这两种值。考虑下面的代码:

var x;
window.alert(typeof x);  //输出undefined
window.alert(typeof y);  //输出undefined

8.5. 上面的代码对两个变量输出的都是"undefined", 即使变量y从未被声明过。如果对y使用除typeof之外的其他运算符的话, 会引起错误, 因为其他运算符只能用于已声明的变量上。例如, 下面的代码将引发错误:

var x;
window.alert(y == undefined);

8.6. 当函数无明确返回值时, 返回的也是值"undefined", 如下所示:

function myFunc() { }
window.alert(myFunc() == undefined);  // 输出true

9. Null类型

9.1. Null类型也只有一个值, 即null。

9.2. null表示尚未存在的对象。

9.3. 其实undefined是从值null派生来的, 因此JavaScript把它们定义为相等的:

window.alert(null == undefined);  // 输出true

9.4. 尽管这两个值相等, 但它们的含义不同。undefined是声明了变量但未对其初始化时赋予该变量的值, null则用于表示尚未存在的对象。

9.5. 如果函数或方法要返回的是对象, 那么找不到该对象时, 返回的通常是null。

9.6. 可以通过将变量的值设置为null来清空对象。

9.7. 在JavaScript中, null的数据类型是对象。

10. 例子

10.1. 代码

<!DOCTYPE html>
<html>
<head>
	<title>数据类型</title>
	<meta charset="utf-8" />
</head>
<body>
	<script type="text/javascript">
		var a, b = undefined;
		var c = null;
		var d = 'hello world';
		var e = 1, f = 3.14, g = NaN, h = Infinity, i = -Infinity;
		var j = true, k = false;
		var l = [100, true, 'zhangsan'];
		var m = {id: 1001, name: 'zs', isMan: true};

		document.write('a = ' + a + ', b = ' + b  + '<br />');
		document.write('c = ' + c + '<br />');
		document.write('(b == c) = ' + (b == c) + '<br />');
		document.write('d = ' + d +'<br />');
		document.write('e = ' + e + ', f = ' + f + ', g = ' + g + ', h = ' + h + ', i = ' + i + '<br />');
		document.write('j = ' + j + ', k = ' + k + '<br />');
		document.write('l =' + l + '<br />');
		document.write('m =' + m + '<br />');
		m = null;
		document.write('m =' + m + '<br />');
	</script>
</body>
</html>

10.2. 效果图

11. typeof运算符

11.1. 您可使用typeof运算符来确定JavaScript变量或表达式的类型。

11.2. typeof运算符把对象、数组或null返回object。

11.3. typeof运算符把函数返回function。

11.4. 例子

11.4.1. 代码

<!DOCTYPE html>
<html>
<head>
	<title>typeof运算符</title>
	<meta charset="utf-8" />
</head>
<body>
	<script type="text/javascript">
		var a, b = undefined;
		var c = null;
		var d = 'hello world';
		var e = 1, f = 3.14, g = NaN, h = Infinity, i = -Infinity;
		var j = true, k = false;
		var l = [100, true, 'zhangsan'];
		var m = {id: 1001, name: 'zs', isMan: true};

		document.write('a =' + a + ', a的数据类型是: ' + typeof a + '<br />');
		document.write('b =' + b + ', b的数据类型是: ' + typeof b + '<br />');
		document.write('c =' + c + ', c的数据类型是: ' + typeof c + '<br />');
		document.write('d =' + d + ', d的数据类型是: ' + typeof d + '<br />');
		document.write('e =' + e + ', e的数据类型是: ' + typeof e + '<br />');
		document.write('f =' + f + ', f的数据类型是: ' + typeof f + '<br />');
		document.write('g =' + g + ', g的数据类型是: ' + typeof g + '<br />');
		document.write('h =' + h + '。 h的数据类型是: ' + typeof h + '<br />');
		document.write('i =' + i + ', i的数据类型是: ' + typeof i + '<br />');
		document.write('j =' + j + ', j的数据类型是: ' + typeof j + '<br />');
		document.write('k =' + k + ', k的数据类型是: ' + typeof k + '<br />');
		document.write('l =' + l + '。 l的数据类型是: ' + typeof l + '<br />');
		document.write('m =' + m + ', m的数据类型是: ' + typeof m + '<br />');

		function myFunction(){}
		document.write('myFunction =' + myFunction + ', myFunction的数据类型是: ' + typeof myFunction + '<br />');

		document.write('(' + f + ' + ' + e + ')表达式的数据类型是: ' + typeof (f + e));
	</script>
</body>
</html>

11.4.2. 效果图

12. JavaScript字面量

12.1. 字符串、数字包括NaN和Infinity和-Infinity、布尔、Null、Undefined都是字面量(没有使用new关键字创建对象的值)。

12.2. 字面量跟常量的意思差不多。

12.3. 实例

''
'你好'
0
3.14
NaN
Infinity
-Infinity
true
false
null
Undefined

13. JavaScript值

13.1. JavaScript有两种类型的值: 字面量值和变量值。

13.2. 实例

var x = 1;
var y = x + 3.14; // 算数运算, 使用了x这个变量值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值