目录
js中6种数据类型:
-
String 字符串 (基本数据类型)
-
Number 数值
-
Boolean 布尔值
-
Null 空值
-
Undefind 未定义
-
Object 对象 (引用数据类型)
1、String字符串
字符串需要使用引号引起来,单引号和双引号都可以,但不要混用;
var str = "hello";
2、Number数值类型
包括整数和浮点数(小数)
可以使用typeof运算符来检查一个变量的类型: console.log(typeof a);
如果定义的Number超过了最大值,则返回一个Infinity(正无穷)或者-Infinity(负无穷);使用typeof检查Infinity的类型返回值为Number(typeof Infinity);
当两个字符串相乘时,返回值为NaN:not a number;使用typeof判断NaN的类型返回值仍为number;
js中可以表示的数字的最大值: Number.MAX_VALUE;
可以表示的数字的最小值:Number.MIN_VALUE;结果为正小数,并非负数;
如果使用js进行浮点运算,可能得到一个不精确的结果,例如0.1+0.2=0.30000000000004;
3、Boolean类型只有true、false两个值
4、Null类型
Null类型只有一个值:null,专门用来表示一个为空的对象。
使用typeof检查,返回值为Object;
5、Undefined类型
Undefined类型只有一个值:undefined;当声明一个变量,但没有赋值时,即为undefined;
typeof(Undefined) == 》 undefined;
6、Object引用类型
强制类型转换——String
方式一:调用被转换数据类型的toString()方法;
Number类型转为String,Boolean类型也可以,转成字符串的“true”,Object、Undefined、Null类型不能强转为String,原因为Undefined、Null类型没有toString方法;
var a = 123; a.toString(); console.log(typeof(a)); //"number" console.log(a); //"123" var b = a.toString(); //a=a.toString(); console.log(typeof(b)); //"String" console.log(b); //"123" //在不创建新变量的前提下,可以采用覆盖旧值的方法实现类型转换
方法二:调用String()方法,将被转换数据类型作为参数传入该函数;
此方法适用于全部数据类型
var a = 123; var b = String(a);
方法三:将该数据加上空串(隐式数据类型转换)
var a = 123; a = a+""; console.log(a); //"123";
强制类型转换——Number
方式一:使用Number()函数;
var a = "123";
a = Number(a);
含有非法数字时,转为NaN;空字符串时转为数字0;null类型变量转为数字0;Undefined类型变量转为NaN;
对于Boolean类型,将true转为数字1,将false转为数字0;
方式二:针对字符串转换为数字
parseInt() 把一个字符串转换为一个整数,将字符串中有效的整数内容取出来,然后转换为Number
parseFloat() 把一个字符串转换为一个浮点数
强制类型转换——Boolean
方式一:使用Boolean()函数
数字转布尔:除了0和NaN,其余都是true;
字符串转布尔:除了空串,其余都是true;
Null和Undefined都转为false;
方式二:隐式类型转换,采用!!方式
var a = 123; a = !!a; console.log(a); //true