前端:JavaScript中的强制转换

发布于:2023-01-10 ⋅ 阅读:(307) ⋅ 点赞:(0)

目录

💚💚💚强制类型转换

💚💚一、强制转换类型为 String

💚💚二、强制转换类型为Number

💚💚💚###、进制

💚💚三、强制转换类型为Boolean


💚💚💚强制类型转换

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

2)类型主要转换为 String Number Boolean这三种类型

💚💚一、强制转换类型为 String

方法一:1、调用被转换数据类型的 toString() 方法;

               2、该方法不会影响到原变量,它会将转换的结果返回(我们需要重新给转换的结果赋给一个新的变量);

               3、注意:null 和 undefined 这两个值没有 toString() 方法,会报错;

var a = 111;

b = a.toString();   //调用xxx的yyy()方法,就是xxx.yyy()

console.log(typeof a);
判断出 b 是由数值强制转换字符串类型

方法二:1、调用String() 函数,并将被转换的数据作为参数传递给函数

               2、使用String() 函数进行强制转换时,

                    对于Number 和 Boolean 实际上就是调用 toString() 方法

                       但是对于null 和 undefined,就不会调用toString() 方法

                           它会将 null 直接转换为 "null"

                                  将 undefined 直接转换为 "undefined"

a = 111;
 
b = String(a);  //将参数a赋给String()函数

💚💚二、强制转换类型为Number

方法一:1、使用Number() 函数(警告:稍微有非法的字母就换转换为 NaN)

                   字符串----->数字

                       (1)纯数字的字符串,则直接转换为数字;不是纯数字的字符串,则转换为 NaN;

                       (2)字符串是空串或是全是空格,则转换为0;

                    布尔------->数字

                          (1)true 转换为 1;

                          (2)false 转换为 0;

                    Null ------> 数字     则转换为  0

                    Undefined------> 数字     则转换为 NaN 

var a = "111";
b = Number(a);  //调用Number()函数将a转换为Number类型

console.log(typeof b);
输出强制转换类型为 Number类型

方法二、专门用来对付字符串

               (1)parseInt() 把一个字符串转换为一个整数(有效地提取整数内容,转换为number类型)

               (2)parseFloat() 把一个字符串转换为一个浮点数

var a = "111px";

b = parseInt(a);  //调用parseInt()函数将a转换为Number类型

console.log(typeof b;
输出强制转换类型为 Number类型

console.log(b);
输出为数值111

       ###如果对非String使用 parseInt()  或 parseFloat(),得先将其转换为String再操作

💚💚💚###、进制

1)以 0x 开头,表示16进制数;

2)以 0 开头,表示8进制数;

3)以 0b 开头,表示2进制数(但不是所有浏览器都支持);

像 "060" 这些字符串,有些浏览器会当成8进制解析,有些会当成10进制解析,解决方法可以再parseInt() 方法中传递一个第二个参数,来指定数字的进制

a = "060";

a = parseInt(a,10);  //指定将a转换为 10 进制数输出

a = parseInt(a,8);  //指定将a转换为 8 进制数输出

💚💚三、强制转换类型为Boolean

使用Boolean() 函数:

      数字------->布尔:除了 0 和 NaN ,其余的都是true;

      字符串------->布尔:除了空串,其余的都是true;

      null 和 undefined 都会转换为 false;

      对象也会转换为 true;

var a = "111";
b = Boolean(a);  //调用Boolean()函数将a转换为Boolean类型

console.log(typeof b);
输出强制转换类型为 Boolean类型

 

本文含有隐藏内容,请 开通VIP 后查看