美文网首页
值类型和引用类型

值类型和引用类型

作者: 柠栀5102 | 来源:发表于2021-11-28 23:16 被阅读0次

一、值类型

在js中,number、string、boolean,都是值类型,值类型的数据直接保存在内存的栈空间

例:第一次输出打印:num1=100,num2=100

第二次输出打印:num1=100,num2=200

解析:值类型数据在传递时,相当于是把num1的值复制传到num2,当num2发生变化是,num1的值并不受影响

二、引用类型

在js中,对象、数组,都是引用类型,引用类型的数据保存在堆中,然后将堆的地址保存到栈中。

例一:第一组输出打印:obj1 {name: '张三', age: 20, sex: '男'}  obj2 {name: '张三', age: 20, sex: '男'}

第二组输出打印:obj1 {name: '李四', age: 22, sex: '女'}  obj2 {name: '李四', age: 22, sex: '女'}

解析:这里的obj2 = obj1,相当于是把obj1 保存在栈中堆的地址复制传递给了obj2,当obj2产生更改时是直接在同一个堆地址数据块中发生改变,所以这里的obj2 更改,obj1 的内容也会更改

例二:第一组输出打印:obj1 {name: '张三', age: 20, sex: '男'}  obj2 {name: '张三', age: 20, sex: '男'}

第二组输出打印:obj1 {name: '张三', age: 20, sex: '男'}  obj2 {name: '王五', age: 24, sex: '女'}

解析:以下面的方法给obj2改变值,相当于是在堆中重新定义了一个obj2 的地址,所以obj1 的值不受obj2 的改变而改变

相关文章

  • 面试

    值类型和引用类型 值类型和引用类型的区别是值类型直接存储其值,而引用类型存储对值的引用。这两种类型存储在内存的不同...

  • 慕课网《前端JavaScript基础面试技巧》学习笔记

    变量类型 值类型和引用类型 值类型只能存储一个值 值类型复制就是值类型本身 引用类型复制只是复制引用类型的指针 引...

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

    JavaScript变量可以用来保存两种类型的值:基本类型值和引用类型值。 *引用类型包括: 基本类型值和引用类型...

  • 对象

    1.对象分为值类型和引用类型 值类型(不是对象) 引用类型(都是对象) 类型的判断值类型判断用typeof引用类型...

  • 01_JS面向对象

    知识点 数据类型 值类型和引用类型 值类型和引用类型的特征 值类型和引用类型做参数 对象的动态特性 给对象动态添加...

  • C# 装箱,拆箱,向上转型,向下转型

    c#中,数据类型分为值类型和引用类型,装箱和拆箱属于值类型和引用类型间的转换操作。 装箱:值类型向引用类...

  • 第一部分:C#语言基础

    第1章 C#类型基础 C#中的两种类型:值类型和引用类型 1.1 值类型和引用类型 值类型包括了结构和枚举,引用类...

  • c#面向对象11--值类型和引用类型/序列化和反序列化

    值类型和引用类型 值类型:int double char enum bool decimal struct引用类型...

  • C#值类型和引用类型

    值类型和引用类型的区别(小结)相同点:引用类型可以实现接口,值类型当中的结构体也可以实现接口;引用类型和值类型都继...

  • 引用类型对象拷贝

    1.引用类型有哪些?非引用类型有哪些 JavaScript数据分为基本类型值和引用类型值基本类型值(数值、布尔值、...

网友评论

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

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