ECMAScript数据类型包括5种基本数据类型(简单数据类型或原始类型)
和 1种复杂数据类型
。
5种基本数据类型包括未定义类型(undefined )
、空类型(null)
、布尔类型(boolean )
、数值型(number )
和字符串类型(string)
。
1中复杂数据类型为对象类型(object)
。
Undefined类型
Undefined类型只有一个值undefined
。在进行相关变量定义的时候,未赋值的情况下,默认是赋值为undefined
了。
var index ;
console.log(index); // undefined
console.log(typeof index); // "undefined"
null类型
null
类型的值只有唯一一个特殊值null
,null
值表示空对象指针。
null
是特殊的对象类型:object
只有变量被赋予null
时,才会显示null
。
var a = null;
console.log(a); // null
console.log(typeof a); // object
undefined
值派生于null
,故:
console.log( undefined == null ) ; // true
Boolean类型
Boolean
类型的值只有两个:true
真 \ false
假
将布尔值的true
和false
转换为数值的话,可以用1
和0
数字表示。
console.log( true == 1); // true
console.log( false == 0); // true
0
、null
、undefined
、" "
、false
、NaN
都为false
。
Number类型
用来表示整数值和浮点数值(即带小数点的值)。
NaN
:Not a Number,意为不是一个数字。
NaN
的特点:
- 任何涉及
NaN
的操作都会返回Na。 -
NaN
与任何值都不相等,包括NaN
本身。 - alert( NaN == NaN ) //false
isNaN
:判断参数是否“不是一个数值”,如果是数值则false
,如果不是数值则true
。
数值转换:
Number()
parseInt() // 从第一位起取到整数部分
parseFloat() // 提取变量第一个小数点后面的值
例如:
console.log(isNaN(NaN)); // true
console.log(isNaN(10)); // false
console.log(isNaN('10'); // false , '10'会被转化为10
console.log('blue'); // true , 不能转化为数值
console.log(true); // false, 可被转化为数值1
String类型
字符串类型由双引号或者单引号表示。
将数字类型或对象类型转换成字符串类型,那么我们可以直接使用toString()
方法进行操作啦。
查看字符串长度:length
属性
var str = "hello world";
console.log(str.length); // 11
查看字符串相应位置的字符
var str = "hello world";
console.log(str[1]); // e
Object类型
ECMAScript中的对象其实就是一组数据和功能的集合。
var o = {}; \\对象字面量方法创建
var o = new Object(); \\构造函数方法创建
typeof 的类型
有6种类型:Boolean
、String
、Object
、Number
、Function
、Undefined
console.log( typeof aa);