1-1
<script> /* number,string,boolean */ /* 强制转换 string,boolean -- number Number(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 -->1 false -->0 */ console.log(Number(t)); console.log(Number(f)) </script>
1-2
<script> /* tips:Number方法针对string类型,只能识别纯数字的字符串,""," " */ /* string,boolean-->number */ var str = "12px"; console.log(Number("12px")) //NaN 不是一个数字 /* ""," " -->0 */ var s=""; console.log(Number(s)); console.log(Number(" ")) console.log(Number(" 13")) </script>
1-3
<script> /* string,number--boolean Boolean(); */ /* tips:string-->boolean 只有""为false,其他都为true */ var str = "hello world"; var num = "12"; console.log(Boolean(str)) console.log(Boolean(num)) console.log(Boolean("")) console.log(Boolean(" ")) </script>
1-4
<script> /* number-->boolean Boolean() */ /* tips:number转换成boolean只有0为false */ var a = 10; var b = 0; var c = -1; console.log(Boolean(a)) console.log(Boolean(b)) console.log(Boolean(c)) </script>
1-5
<script> /* number,boolean string String() toString() */ var num = 10; var t = true; console.log(String(num)) console.log(String(t)) console.log(num.toString()) </script>
1-6
<script> var str = "12px"; var s = "12.34px"; /* Number(); parseInt parseFloat 将string-->number有以上三个方法 */ console.log(parseInt(str)) console.log(parseInt(s)) console.log(parseFloat(s)) console.log(Number("12.343")) </script>
1-7
<script> /* String(); toString(); */ var a =10; var str = a +""; console.log(typeof str); </script>
1-8
<script> /* 自动转换一般发生在运算中 */ /* 1、算术运算 +,-,*,/,% 在算术运算中,先使用Nubmer方法将两边的值转为number,再计算 tips: 特殊情况+,只要有一边为字符串,那么结果一定是字符串,+起拼接符的作用 */ var a = 10; var b = "20"; var c=true; // console.log(Number(b)-10) console.log(b-a); // Number(b)-Number(c); console.log(b-c); console.log(a+b); </script>
1-9
<script> var a = "10"; var b = true; var c = 1; console.log(a+c-b); console.log(a-c+b); </script>
1-10
<script> var a ="21"; var b = 4; console.log(a+b-true+"3"); console.log(a-b+true-"false"); /* 18-"false" 18-Number("false") 18-NaN Tips:NaN和任何值计算,结果一定是NaN */ var c = "false"; console.log(a-b+Boolean(c)); </script>
1-11
<script> var a = "10"; var b = true; var c = 1; console.log(a+b+c); /* "10true1" */ console.log(a+c-b); /* 100 */ </script>
1-12
<script> console.log("9"-8+"false") console.log("9"-true-"false"); console.log("10"-true+"hello"); console.log(""-"9"+true-12); var a = 10; var b = "true"; var c = "5"; var sum = a++ -c+b; console.log(sum); console.log(++a-c-b); console.log(1-10*"5"+true); console.log((2-"6")*3-false+true); </script>
1-13
<script> var b="12"-Boolean('')+true+1; console.log(b); var c="10"+1-Boolean("good")+""; var d="1"+true-false; console.log(d); var f=10-""+Boolean("good")-Boolean("world"); console.log(f); var g="10"-Boolean(" ")+"1"-true; ---(" ")----true console.log(g); </script>