强制数据类型转换

1.强制转换为数字

parseInt(string, radix) 将数据转换为整数返回

            - 第一个参数接受的是个字符串也就是我们要转换的数据

            - 第二个参数 基数,也可以理解为 标注出我们要转换的这个字符串是几进制的数字

JavaScript如何把bool集合到int_强制转换


parseFloat(string) 转换成浮点数(也就是小数)

        从左往右依次转换,一个一个转,当遇到自己无法转换的字符,就停止转换。

var  num = '1a2.a3';
                var num2 = parseFloat(num);
                console.log(num2);                    //    NaN    不是一个数字

Number(val) 将数据转换成数字

    字符串类型,使用 Number() 转换时,规则如下:

                1.当整段字符串都复合数字规则时,转换为数字返回

                2.空字符串,直接返回 0

                3.其余情况,直接返回 NaN

Number 耿直 必须得是全数字,如果含有非数字型字符,那就返回NaN

var  num = '12.3';
        var num2 = Number(num);
        console.log(num2);                  //    NaN

布尔值类型,使用 Number() 转换时,true 返回 1,false 返回 0

        null,使用 Number() 转换时 返回 0

        undefined,使用 Number() 转换时 返回 NaN

        对象类型,使用 Number() 转换时,调用的对象的toString()方法,然后再次依照前面字符串的转换规则进行转换


NaN 和 isNaN

在使用 NaN 时,要注意 NaN 不等于任何值,包括它自己,也就是 NaN 不等于 NaN。

            - 它不是数字的数字类型!

            - 当我们要检测一条数据是否是 NaN 时,可以使用 isNaN(val) 来进行检测, 在 isNaN 方法中,传入的数据能被转换成 合法数字时,

              就会返回 false,当传入的数据不能被转换成 合法数字( 也就是NaN) 时,isNaN 就会返回 true

isNaN 在判断之前 会给 字符串转成数字( 调用Number方法)

console.log(isNaN('123'))
           console.log(isNaN('123a'));

2. String(val) 转换成字符串

        - 数字类型,直接转换数据类型原样返回

        - undefined ,直接返回字符串 undefined

        - null,直接返回字符串 null

        - 布尔值,直接返回字符串 true 或者 false

        - 函数,直接把整个函数变成字符串 返回

        - 对象,直接调用对象的 toString 方法


3.Boolean(val) 转换成布尔值

        - 数字类型:非零的合法数字转换为 true, 零代表 false, NaN 代表 false

        - 字符串类型:空字符串转换为false,非空字符串转换为true

        - null:转换为false

        - 对象:转换为true


隐式类型转换

        隐式数据类型转换,也就是说这个转换过程不受我们强制, js 偷偷自己转的

JavaScript如何把bool集合到int_字符串_02

强制转换规则表