欢迎光临散文网 会员登陆 & 注册

千锋教育JavaScript全套视频教程(10天学会Js,前端javascrip

2023-07-21 09:38 作者:C1oudss1  | 我要投稿

基本数据类型(原始数据类型、简单数据类型)

       number

       string

       boolean

       undefined

       null


   基本数据类型指的是简单的数据段,存储在 栈(stack)中 基本数据类型 进行的是 值传递

      当将 一个变量 赋值给 另外一个变量 是将这个变量的值 复制了一份 赋值给了 另外一个变量

      两个变量的值在内存中是 相互独立的 所以当我们改变其中一个变量,对另外一个变量是不会影响

引用数据类型(对象数据类型、复杂数据类型)

       Function

       Array

       Object

       ......

引用数据类型指的是有多个值构成的对象,存储在 堆(heap 中

        变量其实是保存在栈内存中的一个指针

        这个指针指向堆内存的引用地址


      引用数据类型 进行的是 引用传递 当将 一个变量 赋值给 另外一个变量

        是将这个变量的的引用地址 赋值给了 另外一个变量 两个变量的指针此时指向的是同一个 引用地址

        所以当我们改变其中一个变量时,另外一个变量也会发生变量

浅拷贝

      当我们拷贝一个对象的时候,只会拷贝对象第一层的值,

      而对于对象深层数据都拷贝的是 引用地址


      浅拷贝拷贝的是对象的引用地址,当我们根据一个对象拷贝得到一个新的对象

      一个对象发生变化的时候,另一个也会受到影响

深拷贝

      当我们拷贝一个对象的时候,对于对象的每一层数据都拷贝的是 值,而不是引用地址


      深拷贝拷贝的是对象的值, 当我们根据一个对象拷贝得到一个新的对象

      一个对象发生变化的时候,另一个是不会受到影响,两个对象是独立的


      实现深拷贝的方式

        json的正反序列

        lodash库的_.cloneDeep()方法

        递归

千锋教育JavaScript全套视频教程(10天学会Js,前端javascrip的评论 (共 条)

分享到微博请遵守国家法律