简介js基础数据类型和引用类型以及深浅拷贝和内存分配问题

巴扎黑
Lepaskan: 2017-09-04 10:24:45
asal
1340 orang telah melayarinya

下面小编就为大家带来一篇浅谈js基础数据类型和引用类型,深浅拷贝问题,以及内存分配问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

js 深浅拷贝问题

浅拷贝一般指的是基本类型的复制

深拷贝一般指引用类型的拷贝,把引用类型的值也拷贝出来

举例

h5的sessionStorage只能存放字符串,所以要存储json时就要把json使用JSON.stringify()把json转换成string,然后再用JSON.parse()转换成json数据

缺点:JSON.parse和JSON.stringify只支持IE9+以上

解决这个问题可以使用深度比那里拷贝方法

js 中内存分配问题(堆和栈)

js中基本类型类型一般是存储在栈中的。这些类型在内存中分别占有固定大小的空间,他们的值保存在栈空间,我们通过按值来访问的。

引用类型是大小不固定的数据,但是他们的地址大小是固定的,所以把地址存在栈中而值存在堆中

1、栈内存:存放基本类型。 堆内存:存放引用类型(在栈内存中存一个基本类型值保存对象在堆内存中的地址,用于引用这个对象。)

2、基本类型在当前执行环境结束时销毁,而引用类型不会随执行环境结束而销毁,只有当所有引用它的变量不存在时这个对象才被垃圾回收机制回收。

js 基础数据类型和引用类型

基础数据类型包括 number boolean string undefined null symbol

引用数据类型:array obj function

Atas ialah kandungan terperinci 简介js基础数据类型和引用类型以及深浅拷贝和内存分配问题. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan