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

值类型和引用类型

作者: skoll | 来源:发表于2022-06-18 22:55 被阅读0次

值类型

1 .基本类型,number,string,Boolean,undefined,null,,symbol
2 .通过值复制的方式赋值和传递值


image.png

3 .存储在栈中
4 .遇到的问题

引用类型

1 .除了上面类型外的对象类型,array,object
2 .通过应用复制的方式赋值和传递值


image.png

3 .存储在堆中
4 .遇到的问题 react中改变了引用类型的值,但是界面没有刷新

栈内存和堆内存的区别

1 .为了使程序运行时占用的内存最小。当一个方法执行时,每个方法都会建立自己的内存栈,在这个方法内定义的变量将会被逐个放入这块栈内存里,当方法执行结束,这个方法的内存栈也会被销毁。因此,所有在方法中定义的变量都存放在栈内存中。
2 .但当在程序创建一个对象时,这个对象将被保存到运行时数据区中,以便反复利用(因为对象的创建成本通常较大),这个运行时数据区就是堆内存。堆内存中的对象不会随方法的结束而销毁,即使方法调用结束后,只要这个对象还可能被另一个变量所引用,则这个对象就不会被销毁;只有当一个对象没有被任何变量引用它时,系统的垃圾回收机制才会回收它
3 .对于值类型来说,栈内存中的数据就是所持有的值
4 .而对于引用类型来说,栈内存中的数据只是所持有的值在堆内存中的内存地址,我们改变该值的内部属性并不会影响它在堆内存中的内存地址。但如果重新赋值一个新的引用类型的值是不合法的,因为这会修改变量所绑定内存地址

相关文章

  • 面试

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

  • 慕课网《前端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/kjacvrtx.html