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>