一. 数据类型
1.分类
- 基本(值)类型
(1)String:任意字符串
(2)Number:任意数值
(3)Boolean:true/false
(4)undefined:undefined
(5)null:null - 对象(引用)类型
(1)Object:任意对象
(2)Function:特别的对象(可以执行)
(3)Array:特别的对象(内部数据有序/数值下标)
2.判断
- typeof:
(1)可以判断:number/string/boolean/undefined/function
(2)不能判断:
①null与Object
② Array与Object - instanceof:判断对象的具体类型(Object、Array、Function)
- ===:判断undefined/null
二. 类型转换
1.转换为String
- (强制类型转换)调用被转换数据类型的toString( )方法,但是注意:null和undefined这两个值没有toString( )方法
var a = 123;
a = a.toString( );
- (强制类型转换)调用String( )函数,并将被转换的数据作为参数传递给函数
var a = 123;
a = String(a);
- (隐式类型转换)只需要为任意的数据类型 + 一个" ",即可将其转换为String,实际上是调用String( )函数
var a = 123;
a = a + " ";
2.转换为Number
- (强制类型转换)调用Number( )函数
var s = "123";
s = Number(s);
- (强制类型转换)调用parseInt( )或parseFloat( )函数
(1)这两个函数是专门用来将一个字符串转换为数字的
(2)parseInt( )可以将一个字符串中的有效的整数内容提取出来,并转换为Number
(3)parseFloat( )可以将一个字符串中的有效的小数内容提取出来,并转换为Number
var a = "123.456px";
a = parseInt(a); //123
var a = "123.456px";
a = parseFloat(a); //123.456
- (隐式类型转换)任何值做 - * / 运算时都会自动转换为Number,可以通过为一个值 -0 *1 /1 来将其转换为Number
var a = "123";
a = a - 0;
- (隐式类型转换)对一个其他的数据类型使用+,来将其转换为number
var a = "123";
a = +a;
3.转换为Boolean
- (强制类型转换)调用Boolean( )函数
var a = "123";
a = Boolean(a);
- (隐式类型转换)可以对一个任意数据类型取两次反,来将其转换为布尔值,原理和Boolean( )函数一样,使用起来更加简单
var a = "hello";
a = !!a; //true