【JavaScript】数据类型

	学习任何一种程序设计语言,数据类型都是必不可少的一部分内容,很基础,也很重要。该用何种数据类型定义变量,这也是编程中最基础的一项。
	ECMAScript中有5种简单数据类型:Undefined、Null、Boolean、Number和String。还有一种复杂的数据类型——Object。ECMAScript中不支持任何创建自定义类型的机制,所有值都成为以上6种数据类型之一。
	在ECMAScript中,是用typeof操作符来检测变量的数据类型。比如:
		var box ='李炎恢';
		alert(typeof box);
	输出的值就是String类型。
	下面是一张总结的数据类型的一张思维导图:

【JavaScript】数据类型

	六种数据类型,我将其分为两大类,一种是不管变量是什么,该数据类型下的输出值都是确定的,包括Undefined、Null、Boolean和Number类型;另一种是变量不同,该数据类型下的输出值是不确定的,包括String类型和Object类型。下面将6中数据类型都具体说说:
	一.Undefined类型
	该类型只有一个值,即特殊的Undefined。在使用var声明变量,但没有对其初始化时,这个变量的值就是undefined。
	特别地,
	未初始化的变量与根本不存在的变量(未声明的变量)不一样。
	/*box属于未初始化的变量
   	  age属于未声明的变量
	*/
	var box;
	alert(age);  //输出age值
	alert(box);  //输出box值
	在输出age值时,报错(age is not defined);在输出box值时,输出一个Undefined值。但它们的类型都是Undefined。
	所以,我们在定义变量时,不要只声明,不赋值。
	二.Null类型
	该类型只有一个值,即特殊的Null值。它表示一个空对象引用(指针),利用typeof操作符检测null,返回的是object。
	特别地,
	如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为null,这样当检查null值就知道是否已经给变量分配对象引用了。
如:
	var box=null;
	if (box != null){
	alert('box对象已经存在');
	三.Boolean类型
	该类型有两个值:true和false(区分大小写)。
	特别地,
	其他类型转换成Boolean类型规则:

【JavaScript】数据类型

	四.Number类型
	该类型包含两种数值:整型和浮点型。
	特别地,
	1.NaN,即非数值(not a number)是一个特殊的值。
	2.3个可以把非数值转换为数值的函数:Number(),可用于任何数据类型;parseInt()和parseFloat(),专门用于把字符串转成数值。
	3.Infinity(正无穷)和-Infinity(负无穷)
	4.检查一个数值是否超过了规定范围,isFinite()函数。如果没有超过,返回true,超过了返回false。
	五.String类型
	字符串类型,用双引号(")或单引号(')表示,必须成对出现。
	特别地,
	1.字符串一旦创建,它们的值就不能改变。要改变,必须先销毁原来的字符串,然后用一个包含新值的字符串填充该字符串。
	如:
		var box ='Mr.';
		box=box+’Lee';
	2.toString()方法可以把值转换为字符串。如:
		var box=11;
		alert(typeof box.toString());
	六.Object类型
	ECMAScript中的对象其实就是一组数据和功能的集合。对象可以通过执行new操作符后跟要创建的对象类型的名称来创建。
	例:
		var box=new Object();
	特别地,
	Object()里可以任意传参,传数值、字符串、布尔值等。而且,可以进行相应的计算。
	例:
		var box=new Object(2);          //Object类型,值是2;
		var age=box+2;                  //可以和普通变量运算;
		alert(age);                     //输出结果,转型为Number类型。
	数据类型已经接触了很多次了,每一次在学习相同的知识的时候,总会有进步,有新收获,温故而知新,所以也需要我们认真对待。

上一篇:Oracle INTERVAL DAY TO SECOND数据类型


下一篇:利用springboot+dubbo,构建分布式微服务,全程注解开发(三)