//数据类型 基本和复合/复杂数据类型
/*5种基本数据类型
* a.number类型 :数字类型 1, 2 ,3
* b.string类型: 字符串类型 'ba'/"ab"
* c.boolean类型: 布尔类型
* d.undefined类型 :未被定义类型 /空类型
* f.null类型:空类型
* 2种复合类型
* 基本上都是object类型: 对象类型 Array Date
* 还有function类型 函数类型
*/
//typeof用来查看数据类型
//number类型
var num=2;
console.log(typeof num)//number类型
//string类型
var str='abc';
console.log(typeof str);//string类型
//boolean类型
//只有true/false2种值
var zhengque=true;
console.log(typeof zhengque)//boolean类型
//undefined类型
var unde;
console.log(typeof unde)//undefined
//object类型
var arr=new Array();
console.log(typeof arr)//object对象类型
//function类型
function test(){}
console.log(typeof test)//function类型
//字符串转换为数值类型
//parseInt() parseFloat() Number() +号...
var str='123';
console.log(typeof str)//string类型
//整数类型的转换
console.log(typeof parseInt(str))//number类型
console.log(typeof parseFloat(str))//number类型
//精度问题
var str1='12.365';
//精度不准确
console.log(parseInt(str1))//12
//parseFloat 转换成浮点型
console.log(parseFloat(str1))//12.365
//parseInt转换带字母开头数字的为NAN Eg:abc123 结果NAN
//转换123abc 结果:123 解析到非数字结束
console.log(typeof NaN)//number
//NAN是number类型
//+也是一种将字符串转换为number类型
console.log(typeof +(str1))//number类型
console.log( +(str1))//12.365
//数值类型转换为字符串类型
//数字转换为字符串
var num=13;
console.log(typeof num);//number类型
//tostring:将数值转换为字符串
console.log(typeof toString(num))//string类型
//String:将数值转换为字符串
console.log(typeof String(num))//string类型
//隐式转换
var num0=num+'';
console.log(typeof num0)//string类型
console.log(Typeof String(num))//string类型
//布尔类型的转换
//转换为Boolean() 0 ,''(空字符串),undefined,null,Nan为flase
var str_1 = 'abc';
var num_1 = 1;
var a = null;
var b; //undefined
console.log(Boolean(str_1)); //true
console.log(Boolean(num_1)); //true
console.log(Boolean(a)); //false
console.log(Boolean(b)); //false
console.log(Boolean('')); //false
console.log(Boolean(0)); //false
console.log(Boolean(NaN)); //false
//undefined、null、布尔值中的false、数字中的0和NaN,和空字符串'',转换成false
//其余都为true