ECMAScript的数据类型分为两种:
简单数据类型, 复杂数据类型
简单数据类型(基本数据类型):
1.Undefined
2.Null
3.Boolean
4.Number
5.String
复杂数据类型:
1.Object
操作符typeof:
用于检查变量类型,用法: typeof 变量 或 typeof(变量)
返回值: string、number、boolean、object、undefined、null、function
调试打印console.log:
用于调试,可打印信息到控制台中。用法: console.log(需要打印的变量或值)
检测变量类型: console.log(typeof 变量)
1、数据类型 Undefined:
defined是定义的意思, 则undefined就是未定义的意思。
undefined这个数据类型只有一个值,就是undefined本身。
一般我们不需要显式去定义一个变量为undefined。
例如, var name = '张三'。
我们显式去定义了一个字符串赋予到了name这个变量上。
那么name的数据类型就是字符串。
如果我不去定义,var name;
那此刻,没有被赋予值的变量,他的数据类型就是undefined,他的值只有一种,就是undefined。
2、数据类型 Null :
1.null值表示的是一个空的指针对象
2.如果定义的变量准备在将来用于保存对象,那么最好将改变量初始化为null,而不是其他值:
因为判断对象是否为空,会较为麻烦。初始化定义为null,在有值时才改变为对象。就容易判断对象何时有值;
3.undefined的值是派生自null值的,所以undefined == null 返回的结果是true。
3、数据类型 Number:
1.number表示的是整数和浮点数: var age = 18; var distance = 18.75;
age和distance都属于number数据类型。age属于number中的整数型,distance属于number中的浮点型
2.NaN (no a number),表示非数值的一个特殊字符。例如: 2 - 'abc' 数字减去字符串,无法操作师,就会返回NaN,NaN也属于Number类型;
注意点:
任何涉及NaN的操作,都会返回NaN(例如NaN * 3,NaN+3)
NaN与任何值都不相等,包括它本身
3.isNaN() 操作符,用于检测数值/变量是否为 “非数值”,是返回true,否返回false.
例如 isNaN(18) //false isNaN('abc') // true isNaN("18") //false (isNaN会尝试把值转为数字,如果可以,则同样返回false)
4、数据类型 String:
1.String类型是有0或多个16位Unicode字符组成的字符序列,即字符串。字符串可以由双引号(")或单引号(')表示。
2.toString()方法进行类型转换,可将其他数据类型返回字符串格式。 例如:
var str = 56; console.log(str.toString()); str可以是数值,布尔值,对象,字符串。
3.String()方法进行强制转换,可转换undefined,null等空值。当不知道值是否为空时,可使用String(str)进行转换
5、数据类型 Boolean:
1.Boolean类型用于表示真假,即true表示真,false表示假;
2.利用Boolean(str)进行类型转换:
除了0以外的所有数字,转换为布尔值都为true
除了("",'')空以外的所有字符串,转化为布尔值都为true
undefined和null转化为布尔值都为false