简单数据类型
简单数据类型 | 取值 |
Undefined | undefined(只有一个值) |
Null | null(只有一个值) |
Boolean | true|false(只有两个值) |
Number | 数值 |
String | 字符串 |
首先需要说明的是,在ECMAScript中,上述5种简单数据类型,其中Boolean、Number、String都有同名的内置包装对象,而简单数据类型的字面值(变量)会根据情况自动包箱,从而可以直接调用方法,至于具体可以调用哪些方法,在讨论内置对象时再详细说明:
代码如下:
console.info(true.toString());//true,相当于使用Boolean()包装之后再调用
console.info(Boolean(false).toString());//false,将false转换为Boolean类型值
console.info(new Boolean(false).toString());//false,将false使用Boolean()包装
console.info(false.toString());//false,相当于使用Boolean()包装之后再调用
console.info('test'.toString());//test,相当于使用String()包装之后再调用
try{
console.info(undefined.toString());//没有相应包装类型,抛出异常
}catch(e){
console.info(e);//TypeError
}
try{
console.info(null.toString());//没有相应包装类型,抛出异常
}catch(e){
console.info(e);//TypeError
}
var num = 4;
console.info(num.toString());//4,可以直接在简单数值变量上调用方法,相当于使用Number()包装之后再调用
//console.info(3.toString());//SyntaxError,语法错误不能使用try捕获,说明不能直接在数值字面量上调用
其次说一下实际用的最多的数据转换:
(1)转换为Boolean:!!value
(2)转换为Number:+value
(3)转换为String:''+value
下面再具体说明5种简单数据类型:
1、Undefined类型
Undefined数据类型只有一个取值:undefined。
(1)所有未初始化的值都默认为undefined(也就没有必要把一个变量显示初始化为undefined了)。
(2)在函数作用域中,没有传入实际参数的函数形参为undefined。
(3)函数没有明确返回或者return;的时候,返回值为undefined。
(4)在ECMAScript中,规定null==undefined返回true,而null===undefined返回false。
(5)undefined相应的Boolean值为false。
(6)使用typeof作用于undefiend时,返回字符串'undefined',作用于一个从未声明的“变量”时,也会返回'undefined'。
新闻热点
疑难解答
图片精选