美文网首页
JS 里的数据类型转换

JS 里的数据类型转换

作者: 遠_ | 来源:发表于2018-05-18 17:16 被阅读0次

强制转换

    强制转换主要指使用Number、String和Boolean三个函数,手动将各种类型的值,分布转换成数字、字符串或者布尔值。

    1.Number()

        可以将任意类型的值转化成数值。

            方法: Number(x)

                        parseInt(x, 10)

                        parseFloat(x)

                        x - 0

                        +x

                    parseInt方法用于将字符串转为整数。

                    parseFloat方法用于将一个字符串转为浮点数。


    2.String()

        可以将任意类型的值转化成字符串

        (1)原始类型值

            数值:转为相应的字符串。

            字符串:转换后还是原来的值。

            布尔值:true转为字符串"true",false转为字符串"false"。

            undefined:转为字符串"undefined"。

            null:转为字符串"null"。

                String(123)  //    "123"

                String('abc')  //    "abc"

                String(true)  //    "true"

                String(undefined)  //    "undefined"

                String(null)  //    "null"

                x + ' '

        (2)对象        

            String方法的参数如果是对象,返回一个类型字符串;如果是数组,返回该数组的字符串形式。


    3.Boolean()

        可以将任意类型的值转为布尔值。

            方法:Boolean(x)

                        !!x

        除了以下五个值的转换结果为false,其他的值全部为true。

            undefined

            null

            0

            NaN

            ' '(空字符串)


普通类型与对象的区别:

       数据区分为 Stack(栈内存) 和 Heap(堆内存)

            简单类型的数据直接存在 Stack 里   //number/string/null/undefined/boolean

            复杂类型的数据是把 Heap 地址存在 Stack 里   //object


深复制

    var a = 1

    var b = a

    b = 2 //这个时候改变 b

    a 完全不受 b 的影响

    那么我们就说这是一个深复制    

对于简单类型的数据来说,赋值就是深拷贝。

对于复杂类型的数据(对象)来说,才要区分浅拷贝和深拷贝。


浅拷贝

    var a = {name: 'frank'}

    var b = a    

    b.name = 'b'

    a.name === 'b' // true

对 b 操作后,a 也变了

什么是深拷贝了,就是对 Heap 内存进行完全的拷贝。


相关文章

  • JS 里的数据类型转换

    JS 里的数据类型转换 Js中的数据类型一共有7种,即number,string,boolean,underfin...

  • 2、强制数据类型转换

    数据类型转换: 在js中,数据类型的转换有两种,分别是自动转换和强制转换 自动转换: 自动转换是用JS进行某些操作...

  • JS里的数据类型转换

    上一篇文章(JS里的数据类型)介绍了js中的数据类型。这篇主要介绍数据类型转换。 一、任意类型转字符串 转换成st...

  • JS里的数据类型转换

    在js中,数据类型转换分为显式数据类型转换和隐式数据类型转换。 1, 显式数据类型转换 a:转数字: 1)Numb...

  • JavaScript的显式转换和隐式转换

    js的显式转换和隐式转换都是数据类型的转换;js的数据类型是弱类型的,即可以给变量赋值为任意的数据类型,当进行运算...

  • javaScript中数据类型转换方法

    JS 数据类型转换 方法主要有三种 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供了...

  • 数据类型转换

    JS 数据类型转换 方法主要有三种 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供了...

  • JS隐式数据类型转换

    隐式数据类型转换介绍 前面有总结过 JS数据类型转换 Number(), toString(), parseInt...

  • JS的基本小结

    JS基本输出方式 JS数据类型 变量 常量 变量常量小练习 声明提前 隐式转换 显示转换/强制转换

  • JS 里的数据类型转换

    JS 里的数据类型转换 某类型转换为字符串的方法eg.var a=4 用 变量.toString()方法,a.to...

网友评论

      本文标题:JS 里的数据类型转换

      本文链接:https://www.haomeiwen.com/subject/pqogdftx.html