• 【学习笔记20】JavaScript数据类型之间的区别


    一、数据类型

    • 基本数据类型
    • 复杂数据类型 (function; object; array)

    二、存储的区别

    • 基本数据类型: 存储在栈内存中, 变量内部就是实际的值
    • 引用数据类型: 变量存储在栈内存中, 变量内部存储的是指向堆内存的地址(对象实际的值, 存储在堆内存中)

    三、赋值的区别

    1. 基本数据类型: 是的传递
         可以理解为, 将我自身的值复制一份,给到另一个变量, 后续修改另一个变量时,与我自身没有任何关系
    2. 引用数据类型: 是地址的传递
         可以理解为, 将自身的地址复制一份,给到另一个变量, 后续修改互相会有影响

    1.         // 基本数据类型
    2.         var a = 100
    3.         var b = a
    4.         b = b * 2
    5.         console.log(a)   // 100
    6.         console.log(b)   // 200
    1.         // 复杂数据类型
    2.         var a = {
    3.             name: 'QF'
    4.         }
    5.         var b = a
    6.         b.name = '修改后的name'
    7.         console.log(a)
    8.         console.log(b)


    四、比较的区别

    • 基本数据类型:比较时, 是拿变量实际的值, 去做对比
    • 引用数据类型:比较时, 是拿引用地址做对比, 判断是不是执行一个地址
    1.      // 基本数据类型
    2.         var a = 100
    3.         var b = 200
    4.         console.log(a === b) // false
    1.         // 复杂数据类型
    2.         var c = {
    3.             name: 'QF'
    4.         }
    5.         var d = c
    6.         var f = {
    7.             name: 'QF'
    8.         }
    9.         console.log(c === d)    // true
    10.         console.log(c === f)    // false

     五、传参的区别

    • 基本数据类型:是值的传递, 将自身的值复制一份,传递给函数的形参
    • 引用数据类型:是地址的传递, 将自身的地址复制一份,传递给函数的形参
    1.     var a = 100
    2.         var b = {
    3.             name: 'QF'
    4.         }
    5.         function fn(x, y) {
    6.             x = 500
    7.             y.name = 'QFQQQQQQQQQQ'
    8.         }
    9.         fn(a, b)
    10.         console.log(a)      // 100
    11.         console.log(b.name) // QFQQQQQQQQQQ


     

  • 相关阅读:
    springboot+vue.js+Elementui大众校友社交系统java校友会网站
    Elasticsearch优化
    拒绝for循环,从take_along_axis开始
    Java面试八股之什么是Java反射
    现代_复习_第3章:向量
    今日NFT/数字藏品热点
    硬件电路(3)设计篇----为什么栅极型推挽电路不用上P下N?
    【资损】资损防控的系统规范-收单类服务设计
    一文教会你如何用 Python 分割合并大文件
    基于51单片机的多种音乐盒播放器Proteus仿真系统
  • 原文地址:https://blog.csdn.net/m0_58190023/article/details/128026854