强制转换

1、 string,boolean—>number

1-1、 纯数字string—>number

  1. 特点:只能识别纯数字的字符串
  1. Number(value)
  1. var a = "10";
  2. var str = "hello"
  3. console.log(Number(a)) //10
  4. console.log(Number(str)) //NaN 不是一个数字
  5. console.log(Number("3.0")) //3
  6. console.log(Number(undefined)) // NaN

1-2、 boolean —>number

  1. true --> 1
  2. false -->0

1-3、12px或12.34px这样的string—>number

  1. parseInt();
  2. parseFloat();
  1. var str = "12px";
  2. var str2 = "12.12121px"
  3. console.log(parseInt(str))
  4. console.log(parseFloat(str2))

2、number,string—>boolean

Boolean();

2-1、 number—boolean

  1. 特殊:0-->false,其他情况都为true
  2. var a = 0;
  3. var b = 10;
  4. console.log(Boolean(a)) //false
  5. console.log(Boolean(10)) //true

2-2、string—boolean

  1. 特殊:""-->false,其他情况都为true
  2. var str = "hello world"
  3. var str1 = " "
  4. var str2 =""
  5. console.log(Boolean(str)) // true
  6. console.log(Boolean(str1)) // true
  7. console.log(Boolean(str2)) // false

3、Any-String

  1. String();
  2. toString();
  3. +"";

Tips:在加运算中,只要一边为字符串,结果一定为字符串。

  1. <script>
  2. /* number,string,boolean */
  3. /* 强制转换
  4. string,boolean -- number
  5. Number(value);
  6. */
  7. var str = "123";
  8. var num = Number(str);
  9. var t = true;
  10. var f = false;
  11. console.log(str)
  12. console.log(num)
  13. console.log(typeof num)
  14. /*
  15. true -->1
  16. false -->0
  17. */
  18. console.log(Number(t));
  19. console.log(Number(f))
  20. </script>


自动转换

1、在算术计算中

  1. 在算术运算中,先使用Number方法将两边的值转为number,再计算
  2. tips:特殊情况“+”,只要一边为字符串,那么结果一定是字符串
  3. 示例1
  4. <script>
  5. var a=10;
  6. var b="20";
  7. var c=true;
  8. console.log(b-a);//10
  9. console.log(b-c);//19
  10. </script>
  11. 示例2
  12. <script>
  13. var a="21";
  14. var b=4;
  15. console.log(a+b-true+"3");2133
  16. console.log(a-b-true-"false");
  17. var c="false";
  18. console.log(a-b+Boolean(c));//18
  19. </script>
  20. 示例3
  21. <script>
  22. var a="10";
  23. var b=true;
  24. var c=1;
  25. console.log(a+b+c);
  26. // '10true1'
  27. console.log(a+c-b);
  28. // 100
  29. </script>
  30. 示例4
  31. <script>
  32. console.log("" -"9" +true-12)//-20
  33. </script>
  1. +.-.*./.%
  2. a.先使用Number方法将两边的值转为number,再计算
  3. b.