基本数据类型
undefined类型
在声明变量时,没有对其初始化,那这个变量的值就是undefined,但是值得注意的是,在使用typeof操作符对未定义的变量执行时也返回undefined。
null类型
null值表示空对象指针,typeof返回object。其实undefined是由null派生而来的
undefined == null //true
number类型
// 数值型 number
// 小数叫做浮点数
// var a=3;
// var b=3.1;
// var c=-5;
// var d=-5.6;
// var e=0xFF;//16进制
// var f=065;//8进制
// var g=3.1e+5;//科学计数法 3.1*10(5)5次幂
// var h=3.5e-5;//科学计数法 3.5*10(-5) -5次幂
// console.log(typeof g,g);
// 定义的不一定和打印的结果完全相同,全部都会转换为10进制
boolean类型
各种数据类型转化为boolean为true的:
任何非空字符串、任何非零数字、任何对象、
各种数据类型转化为false的:空字符串、0、NaN、null、undefined
string类型
// 数据类型 数据的分类 字符类型,数值类型,布尔类型,未定义型,空值,对象型
// 字符型 所有使用 '' "" ``都是字符型 string
// var a="a";
// var b='1';
// var c=`true`;
// var d='你好这个非常"不错"';
// console.log(a,b,c,d);
// console.log(typeof a);
// console.log(typeof(a));
数值转字符串
var a=15.22
var b=String(a)//类型强制转换
a=a+""//隐式转换,自动执行String(a)
//例
var color=0x0000FFFF;
console.log((color<<8).toString(16))
toFixed(小数点位数) 转换为字符串,并且保留小数点位数,自动四舍五入
a=a.toFixed(2);
console.log(a);
a.toExponential();//
a.toPrecision();//
数值转布尔值
除了0以外所有的数值转换为布尔值都是true 0转换为布尔值是false;a=Boolean(a);
数值转对象
var a=0;
a=Object(a);//数值型对象,存储在堆中
console.log(typeof a);
字符串转为数值
var a="a";
var a="3.2"
a=Number(a);//强制转换为数值类型
a=parseInt(a);//转换为整数
a=parseFloat(a);//转换为浮点数
var a="101";
a=parseInt(a,2);//将字符串转换为2进制
var color="FF0000";
color=parseInt(color,16);
console.log(color);
a=parseFloat();//不能转换进制
var b="32 1";
var b="32 "
b=Number(b);
b=parseInt(b);
b=parseFloat(b);
console.log(b);
// NaN 数值类型中的非数值
// 隐式转换遵从Number()转换方法
字符串转为布尔值
// 仅空字符串转换为布尔值时,是false,除此之外全部是true
// var str="";
// str=Boolean(str);
// console.log(str);
字符串转为对象
// 6、字符串转换为对象
// var str="aaa";
// str=Object(str);
// 转换为字符串对象
// console.log(str);
var str=" a a ";
str=str.trim();//清除字符串前后空格
console.log(str);
undefined null转换为字符串和数值
var a;
var b=null;
a=String(a);
b=String(b);
console.log(b);
a=Number(a);//转换为数值是NaN
b=Number(b);//转换为数值是0
a=parseInt(a);//NaN
b=parseInt(b);//NaN
console.log(a,b);