美文网首页
关于js引用类型和基本类型

关于js引用类型和基本类型

作者: 18dian | 来源:发表于2019-01-22 17:22 被阅读0次

基本类型:number、string、boolean、null、undefined;
引用类型:object;

1.基本类型值的复制

    <script>
        var a = 10;
        // 将a的值赋值给b;
        var b = a;
        // 重新给b赋值
        var b = 20;
        // 分别打印a和b;
        console.log(b);
        console.log(a);
    </script>

打印结果:


20190122173831.png

上述代码中,可以看出全局变量a和b是完全独立的两个变量,因为在重新为b赋值时,并没有影响到a的值,实际上,这里涉及到栈内存和堆内存,基本类型的复制只发生在栈内存中,如下图所示:

timg.jpeg

相当于全局变量中最开始只有a,然后我们用a去初始化b,在全局对象中增加了一个变量b,b只是保存了a复制的一个副本;
补充:基本类型是按值操作,操作的是保存在变量中实际的值,并且无法为基本类型的值动态的添加属性;

2.引用类型

javascript不能像其他语言一样,不能操作对象所在的内存空间,也就是堆内存,所以我们实际操作的是对象的引用而不是实际的对象;

看下面例子:

    <script>
        var a = {
            name: '李林檀'
        };

        var b = a;
        b.name = 'llt';
        console.log(a.name,b.name)
    </script>

打印结果为:llt llt

打印结果可见,我们对b对象的修改影响到了a,也称浅拷贝,实际上,当我们用a去初始化b的时候,在栈内存中,保存的是一个地址,这个地址的指向并没有改变,a和b在栈内存中保存的是同一个地址,所以,当我们操作b的时候,a也就受到了影响,如下图所示:

20190122180204.png

相关文章

  • js基本类型与引用类型

    1.js基本类型和引用类型 首先js的变量有两种类型,基本类型值和引用类型值 基本数据类型:null,undefi...

  • JS变量,作用域,内存问题

    基本类型和引用类型 js中变量类型分为两大类。基本类型和引用类型。基本类型指值直接保存在变量本地的类型。引用类型变...

  • JS变量类型,存储方式以及特点

    1.JS变量类型 JS变量类型分为基本类型和引用类型 基本类型:基本类型有Undefined,String,Num...

  • js数据类型

    JS基本数据类型和引用数据类型(JS 基本数据类型和引用数据类型的区别及浅拷贝和深拷贝) 再讲 js 的基本数据类...

  • 执行环境、作用域链

    理解基本类型和引用类型 基本类型 点击浏览JS的基本数据类型 引用类型 1.什么是引用类型引用类型的值是保存在内存...

  • 引用类型与对象拷贝

    引用类型有哪些?非引用类型有哪些? JS中的数据类型分为基本类型和引用类型。基本类型:数值(number)、字符串...

  • 引用类型和对象拷贝

    一、引用类型有哪些?非引用类型有哪些 JS 中分基本类型和引用类型。 基本类型值(数值、布尔值、字符串、null和...

  • 深入理解JS的数据类型

    js数据类型主要分为基本数据类型和引用数据类型 基本数据类型和引用数据类型的区别:基本数据类型是对值得引用,引用数...

  • js 高级函数

    1:基本类型和引用类型? 2:基本类型和引用类型的区别? 3:js的内存方式? 4:浏览器解析js代码的时候的顺序...

  • 【js类型判断】包装类以及isArray,instanceof,

    谈到JS的类型判断,首先我们先了解JS当中的数据类型内容。 JS数据基本类型和引用类型 基本类型:undefine...

网友评论

      本文标题:关于js引用类型和基本类型

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