数据类型转换
数值转换为字符串
1、强制转换
var a=26 ;
a=String(a) ;
2、字符串转换
var a=26 ;
a=a.toString() ;
3、保留小数点后几位
a=a.toFixed(4) :
4、保留小数点后几位的科学技术法
(1)大于0时,保留几位数值,并且按照科学计数法来写
(2)小于1的正数时,保留除0以外的小数点后几位
a=a.toPrecision(2)
字符串转换数值
- Number()强制转换数值
如果字符串是由数字构成,强转后将会变为数值,否则变成NaN
ps:NaN 是非数值,数值类型
var str="abc" ;
str=Number(str) ;
- parseInt()取整
转换数值时,如果字符串是纯数字构成,或者第一个数字是数字,则转换时从头开始转换到字母之前
根据字符串的进制来转换成十进制
var str=parseInt(str);
- parseFloat()取小数点
保留小数点
var str=parseFloat(str) ;
- Number 强制转换会将布尔值转换为数值
true=1 ; false=0 ; - parseInt 的第一个参数要求是字符串,但是true和false都不是字符串,所以parsInt首先会自动隐式转换为字符串
Number(undefined) //NaN
Number(null) //0
Number({a:1}) // NaN
布尔值转换为字符串
var b=true;
b=String(true) ;
字符,数值变为布尔值
- Booleam()强转布尔值
以下几种强制转换布尔值会为false
b=Boolean(0) ;
b=Boolean(“”);
b=Boolean(false) ;
b=Boolean(NaN) ;
b=Boolean(undefined) ;
b=Boolean(null) ;
打印数据类型
- typeof 获取数据的基本类型
console.log(typeof 1);
- string number boolean undefined,null都是存在内存的栈中
存储在栈中的数据读取速度快,但是栈中可以存储的数据较小 - object 是在内存的堆中
堆中可以存储大量的数据,但是读取速度慢
所有的基础数据类型都是基于object构建而成
var a=5 ; //数值 number 存储在栈中 数值类型
var b=new Number(5); //数值对象 Number 存储在堆中 object类型
number:可以理解为Number类型在栈中的映射