1 数据类型转换
1.1 强制类型转换
-
转number
// 转number var s1 = ''; var s2 = '120'; var s3 = '13.678'; var s4 = '100元'; // 1.Number(值):把需要转化的内容放进去,返回转化好的值 console.log(Number(s1), s1); // 0 console.log(Number(s2), s2); // 120 console.log(Number(s3), s3); // 13.678 console.log(Number(s4), s4); // NaN 对于字符串只能转化纯数字的字符串 console.log(Number(true), true); // 1 console.log(Number(false), false); // 0 console.log(Number(null), null); // 0 console.log(Number(undefined), undefined); // NaN // Number(): 对于字符串只能转化纯数字的字符串 // 2.parseInt(值):从左往右进行转化,如果碰到不能转的或者转换完了,结束了,不识别小数点 // parseFloat(值):从左往右进行转化,如果碰到不能转的或者转换完了,结束了 var n2 = '200px'; var n3 = '210.567px'; console.log(parseInt(n2), n2); // 200 console.log(parseInt(n3), n3); // 210 console.log(parseFloat(n3), n3); // 210.567 // 不会改变原数据的
-
转string
// 1.String(值): 把需要转化的值放进去,返回转化好的内容 // 万能转化 console.log(String(100), 100); console.log(String(true), true); console.log(String(false), false); console.log(String(null), null); console.log(String(undefined), undefined); // 2. 值.toSting() // toSting()是方法,null和undefined不能使用 var n = 100; var t1 = true; var t2 = false; var n1 = null; var und = undefined; console.log( n.toString(), n); console.log( t1.toString(), t1); console.log( t2.toString(), t2); // null/undefined没有任何属性和方法,.不出来任何内容 会报错 // null/undefined.xxx // console.log( n1.toString(), n1); 报错 // console.log( und.toString(), und); 报错
-
转boolean
// Boolan(值) console.log(Boolean(100), 100); console.log(Boolean(-100), -100); console.log(Boolean(0), 0); // false console.log(Boolean(''), ''); // false console.log(Boolean(' '), ' '); // true console.log(Boolean('abcd'), 'abcd'); console.log(Boolean(null), null); // // false console.log(Boolean(undefined), undefined); // false console.log(Boolean(NaN)); // // false // 为假: 0 空字符串 null undefined false NaN // 复杂数据类型永远为真