//typeof 获取数据类型
console.log(typeof a); //number数字类型:任何数字(NaN也是number类型,表示“非数”)
console.log(typeof b); //string字符串类型:值用引号(单引号或者双引号)括起来
let c = true;
console.log(typeof c); //boolean布尔类型:值为true/false
var d ;
console.log(typeof d); //undefined(没有初始值的变量) 未定义类型:未被赋值的变量,值为undefined
var date = new Date();
console.log(typeof date); //object对象类型:null、数组、Date等
var nn = null;
console.log(typeof nn); //object
var num = [];
console.log(typeof num); //返回object
function get(){}
console.log(typeof get); //返回function
console.log(10/0); //Infinity无穷,是一个特殊的值
var e = '123.2';
console.log(typeof e); //string
e = parseInt(e); //将string转换为number (整数)
//e = parseFloat(e); //将string转换为number (浮点数)
console.log(e);
console.log(typeof e); //number
var g = 'gg'; //字符串中不包含数字
console.log(parseInt(g)); //NaN(不是一个数) 不会报错
var n = 123 + NaN;
console.log(n); //NaN和任何数据进行运算结果仍然是NaN
console.log(1 == NaN); //所以尽量不这么用判断
isNaN(1) //用这种方式判断
//isNaN()函数在接收到一个值之后,会尝试将这个值转换为数值,如果可以转就返回false:
console.log(isNaN(5)); //false
console.log(isNaN('5')); //false
console.log(isNaN('a')); //true
var gg = '123px456';
console.log(parseInt(gg)); //会把首次出现的数字进行截取转换
var h = 0.1 + 0.2; //浮点数运算也会有精度问题
console.log(h); //0.30000000000000004
console.log(parseInt('20.2aa')); //20
--------------------------------- 其他类型向string类型转 --------------------------------------------------
-------------- toString()方式 ------------------
var a = 123; //number类型向string类型转化
console.log(typeof a); //number
a = a.toString();
console.log(typeof a); //string
var b = false; //boolean类型向string类型转化
console.log(typeof b); //boolean
b = b.toString();
console.log(typeof b); //string
console.log(b); //'false'
var c = null; //null值向string类型转化
console.log(typeof c); //object
c = c.toString(); //报错 Cannot read property 'toString' of null
var d = undefined; //undefined值向string类型转化
d = d.toString(); //报错 Cannot read property 'toString' of undefined
-------------- String()方式 ------------------
var e = 123; //number
e = String(e);
console.log(typeof e); //string
var f = false; //boolean
f = String(f);
console.log(typeof f); //string
var g = undefined;
g = String(g); //可以转
console.log(typeof g); //string
console.log(g); //"undefined"
var h = null;
h = String(h); //可以转
console.log(typeof h); //string
console.log(h); //'null'
--------------------------------- 其他类型向string转 -----------------------------------
--------------------------------- 其他类型向number转 -----------------------------------
var a = '123';
a = parseInt(a); //string类型转number类型
console.log(typeof a); //number
var b = '456';
b = Number(b); //string类型转number类型
console.log(typeof b); //number
var c = '';
c = Number(c); //string类型转number类型
console.log(typeof c); //number
console.log(c); //空串向number转 值变为0
var d = true;
d = Number(d); //boolean类型转number类型
console.log(typeof d); //number
console.log(d); //boolean向number转 true值为1 false值为0
var e = null;
e = Number(e); //null值转number类型
console.log(typeof e); //number
console.log(e); //null向number转 值为0
var f = undefined;
f = Number(f); //undefined值转number类型
console.log(typeof f); //number
console.log(f); //undefined向number转 值为NaN
var g = NaN;
g = Number(g); //NaN值转number类型
console.log(typeof g); //number
console.log(g); //值还是NaN
--------------------------------- 其他类型向number转 -----------------------------------
--------------------------------- 其他类型向boolean转 -----------------------------------
var a = 456.9;
a = Boolean(a); //number类型转boolean类型
console.log(typeof a) //boolean
console.log(a); //值true
//var k = 0;
var k = NaN; //number
k = Boolean(k);
console.log(typeof k); //boolean
console.log(k); //值false
//number类型转boolean类型 除了0和NaN值为false之外,其他的数值转换后的值均为true
var b = "123"; //string类型转boolean类型
//var b = "";
b = Boolean(b);
console.log(typeof b); //boolean
console.log(b); //除了空串值为false之外 其他字符串转换后值true
var n = null; //null值转boolean类型
n = Boolean(n);
console.log(typeof n); //boolean
console.log(n); //null值向boolean转 值为false
var u = undefined;
u = Boolean(u);
console.log(typeof u); //boolean
console.log(u); //undefined向boolean转 值为false
--------------------------------- 其他类型向boolean转 -----------------------------------
网友评论