美文网首页
JS引用类型值和基本类型值

JS引用类型值和基本类型值

作者: 鲁女女 | 来源:发表于2019-12-14 13:11 被阅读0次

    数据类型中分为五种简单的数据类型和一种复杂的数据类型。他们分别对应着基本类型值和引用类型值。
    基本类型值有:nullundefinednumberbooleanstring
    引用类型值:object(正则、数组、函数、Date等)

    分类的原因:按照存储的方式不同来划分

    基本类型值

    基本类型值按值访问,直接访问变量中的实际的值
    基本类型值都是储存在栈区

    • 基本类型值的特点
      1.基本类型值不可变(除非赋值后直接替换新值)
      2.我们不能给基本类型值设置自定义的方法和属性
      3.基本类型值的比较是 值和值的比较
      4.基本类型值的变量储存在栈区,栈区包括 变量的标识符 和变量的值

    • 示例

    var num1 = 10;
    var num2 = 20;
    var num3 = num1;
    num3 = 40;
    console.log(num1);//10
    console.log(num3);//40
    

    引用类型值

    在栈区储存的是 变量的标识符 和 对象的引用地址 在堆区储存的是对象本身
    当访问一个对象的时候,要先访问到栈区的地址,然后通过地址去找到对象

    • 引用类型值的特点
      1.引用类型值是可变的,我们可以给引用类型值设置属性和方法
      2.引用类型值是同时保存在堆区和栈区
      3.引用类型值的比较是地址的比较
    var obj1 = {
        age:"18"
    };
    var obj2 = obj1;//对象的赋值,是把引用地址赋值过去的
    console.log(obj2);  //{age: "18"}
    obj2.age = 30;//改变obj2 也是改变obj1  因为地址一样  是同一个对象
    console.log(obj1);  //{age: 30}
    console.log(obj1 === obj2); // true
    
    console.log({}==={});//false
    

    相关文章

      网友评论

          本文标题:JS引用类型值和基本类型值

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