值类型之间的相互转化

转字符串:String() | .toString() | "" +  // 123..toString() | 重点是  "" +
转数字:Number(a) | parseFloat() | parseInt() | +  // +'123'
// parseFloat('3.14.15') => 3.14 | parseInt('3.14.15') => 3
转布尔:Boolean(a)
​
非数字:NaN  // 当一个其他类型转化为数字类型的产物
// 任何判断一个结果是否是NaN, isNaN(运算)
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>类型转化</title>
</head>
<body>
    值类型之间的相互转化
</body>
<script>
    // number | string | boolean
// 转化为boolean
    var num = 10;
    var s = "123";
​
    num = 0;
    s = "";
    var b1 = Boolean(num);
    var b2 = Boolean(s);
    console.log(b1, b2);
​
    // 后期我们会在if分支结构中的判断以及循环中的判断中使用boolean类型,
    // 以上两种情况下, 系统都会把非boolean的数据自动转换为boolean
    // 0 | "" | null | undefined | NaN => false, 其他都会转化为true
// 转化为数字类型
    console.log(Number(false), Number(true), true + true);
    var s1 = "123";
    var s2 = "3.14";
    var s3 = "123abc";
    var s4 = "3.14.15";
    var s5 = "abc123";
    // 123 3.14 NaN NaN NaN
    console.log(Number(s1), Number(s2), Number(s3), Number(s4), Number(s5));
    var n3 = parseInt(s3);
    console.log(n3);
    var n4 = parseFloat(s4);
    console.log(n4);
​
    // 常用转化的字符串一定是一个合法的数字字符串形式(s1, s2)
    var n1 = +s1;
    console.log(n1, typeof n1);
    console.log(+s2);
​
    // 转化为字符串类型
    var nn1 = 123;
    var ss1 = String(nn1);
    var ss2 = nn1.toString();
    var ss3 = "" + nn1;
    console.log(ss1, ss2, ss3);
​
    // 了解
    var ss4 = 123..toString();
​
    console.log(ss4);
​
    // 弱语言类型
    console.log(3 + "5");  // "35"
    console.log(3 - "5");  // -2
​
​
    // 总结:
    // 1.最快转化为数字类型 +"123" | +true
    // 2.最快转化为字符串形式 "" + 123 | "" + true
</script>
</html>
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-04-22
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-02-07
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案