typeof:number(数值类型) string(字符串类型) boolean(布尔类型) object(对象类型) undefind(undefind类型) function(方法类型);
var num = null;//NaN虽然不是数字,但他属于number类型,null值是返回object;
// console.log(typeof(num));
// var num = Number("123");//字符串转换成number类型123
// var num = Number(true);//布尔值true转换成number类型1
// var num = Number(false);//布尔值false转换成number类型0
// var num = Number(undefined);//undefind转换成number类型NaN
// var num = Number(null);//null转换成number类型0
// var num = parseInt("123.16561651") //转换成整数,点后面直接切除;
// var num = parseFloat(123.15116513265) //转换成浮点型;
// var num = String("undefind") //不管什么都可以转换成字符串;
// var dome = 1234584654564132;
// console.log(dome.toString()); //null和undefind会报错;
// var num = Boolean("");//null undefind 0 "" NaN全为false,其他都为turn;
// console.log(num)
感兴趣的小伙伴可以自己试试;
简单的进值转换实例:
2----10----16
var num = 10101010101010;
var test = parseInt(num,2);
console.log(test.toString(16));
最后在跟大家说说隐性类型转换:
var a = isNaN("123") //isNaN会进行number转换,然后判断是非为NaN,返回turn和false; var b = "123";b++; // ++/--会进行number类型转换,undefind虽然不能转换成数字,但是能转换成数值类型,输出NaN; var c = +"123"; // +/-会进行number类型转换,undefind虽然不能转换成数字,但是能转换成数值类型,输出NaN; // *,%,/,++,!= 跟上面转换类型一样,但是转换成number类型; var c = "123" + 1; //只要有一方是字符串,就会转换成string类型; var d = 1>"123"; // <、>、<=、>=会转换成布尔类型; var e = 1 ==="1"; // ===全等于,双方必须一模一样才能全等于,NaN是特例,自己都不等于自己。