强制转换
1、 string,boolean—>number
1-1、 纯数字string—>number
特点:只能识别纯数字的字符串
Number(value)
var a = "10";var str = "hello"console.log(Number(a)) //10console.log(Number(str)) //NaN 不是一个数字console.log(Number("3.0")) //3console.log(Number(undefined)) // NaN
1-2、 boolean —>number
true --> 1false -->0
1-3、12px或12.34px这样的string—>number
parseInt();parseFloat();
var str = "12px";var str2 = "12.12121px"console.log(parseInt(str))console.log(parseFloat(str2))
2、number,string—>boolean
Boolean();
2-1、 number—boolean
特殊:0-->false,其他情况都为truevar a = 0;var b = 10;console.log(Boolean(a)) //falseconsole.log(Boolean(10)) //true
2-2、string—boolean
特殊:""-->false,其他情况都为truevar str = "hello world"var str1 = " "var str2 =""console.log(Boolean(str)) // trueconsole.log(Boolean(str1)) // trueconsole.log(Boolean(str2)) // false
3、Any-String
String();toString();+"";
Tips:在加运算中,只要一边为字符串,结果一定为字符串。
<script>/* number,string,boolean *//* 强制转换string,boolean -- numberNumber(value);*/var str = "123";var num = Number(str);var t = true;var f = false;console.log(str)console.log(num)console.log(typeof num)/*true -->1false -->0*/console.log(Number(t));console.log(Number(f))</script>
自动转换
1、在算术计算中
在算术运算中,先使用Number方法将两边的值转为number,再计算tips:特殊情况“+”,只要一边为字符串,那么结果一定是字符串示例1:<script>var a=10;var b="20";var c=true;console.log(b-a);//10console.log(b-c);//19</script>示例2:<script>var a="21";var b=4;console.log(a+b-true+"3");2133console.log(a-b-true-"false");var c="false";console.log(a-b+Boolean(c));//18</script>示例3:<script>var a="10";var b=true;var c=1;console.log(a+b+c);// '10true1'console.log(a+c-b);// 100</script>示例4:<script>console.log("" -"9" +true-12)//-20</script>
+.-.*./.%a.先使用Number方法将两边的值转为number,再计算b.
