toString
var num1 = 123;
var res1 = num1.toString();
console.log(res1); //123
console.log(typeof res1); //string
var num2 = false;
var res2 = num2.toString();
console.log(res2); //false
console.log(typeof res2); //string
//注意事项
//toString方法不会改变原变量,会将转换的结果返回
var num3 = 123;
var res3 = num3.toString();
console.log(typeof num3);
console.log(typeof res3);
//数值类型调用toString()方法,可以携带一个参数,输出对应的值
var num3 = 123;
var res3 = num3.toString(10);//表示转10进制 稍作了解即可
//null undefined 无 toString方法 会报错 转换时要过滤掉null 和undefined
//强制转换字符串 String()
//null 和 undefined不能调用 toString()方法 ,必须直接转成字符串
var n1 = null;
var s1 = String(n1);
console.log(s1); //null
console.log(typeof s1); //string
var n2 = undefined;
var s2 = String(n2);
console.log(s2); //undefined
console.log(typeof s2); //string
//对于 number 和 Boolean String()相当于 toString()
var n3 = 123;
var s3 = String(n3);
console.log(s3); //123
console.log(typeof s3); //string
var n4 = false;
var s4 = String(n4);
console.log(s4); //false
console.log(typeof s4); //string
//字符串拼接 强转字符串 +""
var n5 = 123;
var s5 = n5 + "";
console.log(s5); //123
console.log(typeof s5); //string
var n6 = null;
var s6 = n6 + "";
console.log(s6); //null
console.log(typeof s6); //string
//其他类型转Number型
//纯数字字符串,直接转换为数字
var str1 = "10010";
var r1 = Number(str1);
console.log(r1);
console.log(typeof r1);
//如果字符串为空,或者全是 空格 则转换为 0
var str2 = "";
var str3 = " ";
var n2 = Number(str2);
var n3 = Number(str3);
console.log(n2);
console.log(typeof n2);
console.log(n3);
console.log(typeof n3);
//字符串中有非数字内容。直接转为NaN
var str4 = "a1";
var r4 = Number(str4);
console.log(r4);
console.log(typeof r4);
//布尔型转数字型
//true为1,false为0
var b1 = true;
var h1 = Number(b1);
console.log(h1);
console.log(typeof h1);
//null、undefined转为数字型
//null 转为 0
var b2 = null;
var h2 = Number(b2);
console.log(h2);
//undefined 转数字变为NaN
var b3 = undefined;
var h3 = Number(b3);
console.log(h3);
//parseInt()函数和parseFloat函数 可以提取字符串中的有效整数和浮点数
//先来parseInt()函数
//注意点 实际上有两个参数,一个要转换的字符串,还有个转换的进制,一般为十进制
//从第一位有效数字开始,直到遇到无效数字
//如果一开始就不是有效数字,那么直接返回 NaN
//应用前景 获取一个div 框的高度宽度
var c1 = "10eae";
var m1 = parseInt(c1);
console.log(m1);
var c2 = "200x300";
var m2 = parseInt(c2);
console.log(m2);
var c3 = "inlike199";
var m3 = parseInt(c3);
console.log(m3); //NaN
//parseFloat()函数
//注意事项
//只支持一个参数,并且只能是十进制
//如果解析内容仅为整数,也可得到整数
//如果一开始就不是有效数字,那么直接返回 NaN
//从第一位有效数字开始,直到遇到无效数字
var c4 = "10.5rem";
var m4 = parseFloat(c4);
console.log(m4); //10.5
var c5 = "10.5.6.67rem";
var m5 = parseFloat(c5);
console.log(m5); //10.5
//对于非String型,parseInt()和parseFloat()将其转为字符串型,然后在进行操作
var c6 = false;
var m6 = parseInt(c6);
console.log(m6); //NaN
//巧用+号转Number型
var c7 = "12345";
var m7 = +c7;
console.log(m7);
var c8 = true;
var m8 = +c8;
console.log(m8); //1
//巧用 - 号
var c9 = "12345";
var m9 = c9 - 0;
console.log(m9);
console.log(typeof m9);
// 转布尔型Boolean() 0 ''空字符串 null undefined NaN 转为false 其他为true
console.log(Boolean(0));
console.log(Boolean(-1));
console.log(Boolean(c9));