11.11.尚硅谷_JS基础_强制类型转换-String

119 阅读1分钟

强制类型转换:

概念:

① 指将一个数据类型强制转换为其他的数据类型

② 类型转换主要指,将其他的数据类型,转换为String 、Number、 Boolean

方法:

方法一:

  1. 调用被转换数据类型的toString()方法

  2. 该方法不会影响到原变量,它会将转换的结果返回

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
       var a = 123;
        //调用a的toString()方法
        //调用XXX的yyy()方法,就是xxx.yyy()
        var b = a.toString();
       console.log(typeof b);
       console.log(b)
    </script>
</head>
<body>
    
</body>
</html>

image-20211024115140937

  1. 但是注意:null和undefined这两个值没有toString()方法,如果调用他们的方法,会报错。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        //null
        var a = null;
        a = a.toString
        console.log(a)
        //undefined
         var a = undefined;
        a = a.toString
        console.log(a)
    </script>
</head>
<body>
    
</body>
</html>

null:

image-20211024121306488

undefined:

image-20211024121357021

方法二:

  1. 调用String()函数,并将被转换的数据作为参数传递给函数

  2. 使用String()函数做强制类型转换时, 对于Number和Boolean实际上就是调用的toString()方法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var a = 123;//number
        a = String(a);//改为string

        console.log(a);
        console.log(typeof a)
    </script>
</head>
<body>
</body>
</html>
  1. 对于null和undefined的区别:
  • 但是对于null和undefined,就不会调用==toString()==方法
  • 它会将==null==直接转换为"null"(字符串)
  • 将==undefined==直接转换为“undefined”
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>

        //调用String()函数,来将a转换为字符串
 

        //a = null;
        //a = String(a);


        a = undefined;
        a = String(a);

        console.log(typeof a);
        console.log(a);
    </script>
</head>
<body>
</body>
</html>