前端---js(自学笔记4)(强制类型转换)

    技术2022-07-10  136

    js--强制类型转换:

    强制数据类型转换:指将一个数据类型强制转换成其他数据类型,也就是说,将其他的数据类型转换为:Number、String、Boolean。

    将其他数据类型转换成String:

    方法一:调用被转换数据类型的toString()方法,该方法不会影响原变量,它将转换结果返回。

                  注意:null和undefined没有tostring,如果调用会报错

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

                   String() 函数作为强制类型转换,对于Number、Boolean,其实还是调用了toString方法,但是对于Null和Undefined                     不是,Null返回“null”,Undefined返回“undefined”。

    将其他数据类型转换成Number:

    调用Number()函数,将其他类型转换为Number类型

    字符串-----》数字

    如果是数字类型的字符串,将直接转换为数字如果是非数字的字符串,将直接转换为NAN如果是空格,将会为0

    布尔-----》数字

    true-----1false-----0

    Null-----》数字-------返回值为0

    Undefined-----》数字-------数字NAN

    方法二:专门针对字符串

         parseInt()将整数转换为数字,eg:a="123px234"===>123

         parseFloat()将浮点数转换为数字eg:q=’12.34.56’====>12.34

    其他进制的数字:

    js中,表示16进制的数值,则需要0X开头

              表示8进制的数值,则需要0开头

              表示2进制的数值,则需要0b开头,但是不是所有浏览器都支持

              像“378”字符串,可能为8进制,10进制解析,这时我们可以用parseInt(w,10)来指定,w为赋的值,10指十进制。

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> //十六进制 a=0Xcafe d=0X10 console.log(a) console.log(d) //八进制 f=034 b=08 console.log(f) console.log(b) //二进制 g=0b01 console.log(g) k=072 k=parseInt(k,10) console.log(k) </script> </head> <body> </body> </html>

    结果:

    将其他数据类型转换成Boolean:

    调用Boolean()函数,将其他数据类型转换。

    字符串--->Boolean:除了空字符串,其他都为true数字----->Boolean:除了0和NaN,其余都为trueNull和Undefined:falseobject:true d="nihao" j=Boolean(d) console.log(j)

     

    Processed: 0.016, SQL: 9