JS类型转化

                       1.将其他类型转化为String

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

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

                    var a = 123; a=a.toString();  

    方式二:调用String()函数,并将被转换的数据作为参数传递给函数  调用xxx函数,就是xxx()

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

                  但是对于null和undefined,就不会调用toString()方法,
                  它会将null直接转换为“null”,将undefined直接转换为"undefined"

                   var a = 123; a=String(a);
    方式三(隐式的类型转换): *****
                   - 为任意的数据类型 +""
                   - 例子:
                      var a = true;
                      a = a + "";
                   - 原理:和String()函数一样

                        2.将其他类型转化为Number

     方式一:使用Number()函数

                     字符串--->数字                                                                                                                                   
                          纯数字字符串,直接转数字,否则NaN,如字符串是空串或者空格,转为0

                     布尔--->数字  true为1,false为0

                     Null---数字 0  undefined--->数字 NaN

     方式二:专门对付字符串

                    parseInt()把一个字符串转换一个整数 取有效整数                                                                          
                    parseFloat()把一个字符串转换成一个浮点数 取有效小数

                    如果对非String使用parseInt()或parseFloat()
                    它会先将其转化成为String然后再操作 
                    a=true;a=parseInt(a); typeof--->NaN

     方式三(隐式的类型转换):
                    - 使用一元的+来进行隐式的类型转换
                    - 例子:
                      var a = "123";
                      a = +a;
                
                    - 原理:和Number()函数一样  

                        3.其他进制数字                                                                                                                                  
                    在js中,如果表示16进制的数字,则需要以0x开头                                                                         
                    如果需要表示8进制的数字,则需要以0开头                                                                                 
                    如果需要表示2进制的数字,则需要以0b开头,但是不是所有浏览器都支持 

                    向“070"这种字符串,有些浏览器会当成8进制解析,有些会当成10进制解析, 
                    可以在parseInt()中传递第二个参数,来指定数字的进制                                                                 
                    a="070";a=parseInt(a,10)

                         4.将其他类型转化为Boolean

                     方式一(强制类型转换):
                            - 使用Boolean()函数
                                       - 例子:
                                          var s = "false";
                                          s = Boolean(s); //true
                            - 转换的情况
                                     字符串 --> 布尔
                                          - 除了空串其余全是true
                                     数值 --> 布尔
                                          - 除了0和NaN其余的全是true
                                     null、undefined ---> 布尔
                                          - 都是false
                                     对象 ---> 布尔
                                          - 都是true

                      - 方式二(隐式类型转换):
                            - 为任意的数据类型做两次非运算,即可将其转换为布尔值
                                        - 例子:
                                           var a = "hello";
                                           a = !!a; //true
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容