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


Posted in Javascript onSeptember 02, 2017

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

以上这篇浅谈js基础数据类型和引用类型,深浅拷贝问题,以及内存分配问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
浅析LigerUi开发中谨慎载入common.css文件
Jul 09 Javascript
JS获取当前日期和时间的简单实例
Nov 19 Javascript
一个CSS+jQuery实现的放大缩小动画效果
Feb 19 Javascript
JS控制弹出新页面窗口位置和大小的方法
Mar 02 Javascript
基于Jquery和CSS3制作数字时钟附源码下载(CSS3篇)
Nov 24 Javascript
javascript时间排序算法实现活动秒杀倒计时效果
Jan 28 Javascript
javascript实现起伏的水波背景效果
May 16 Javascript
浅谈js中子页面父页面方法 变量相互调用
Aug 04 Javascript
Google 地图控件集详解及实例代码
Aug 06 Javascript
Vue学习笔记进阶篇之单元素过度
Jul 19 Javascript
vue实现百度下拉列表交互操作示例
Mar 12 Javascript
Vue实现购物车基本功能
Nov 08 Javascript
js es6系列教程 - 基于new.target属性与es5改造es6的类语法
Sep 02 #Javascript
js es6系列教程 - 新的类语法实战选项卡(详解)
Sep 02 #Javascript
使用vue-resource进行数据交互的实例
Sep 02 #Javascript
jquery tmpl模板(实例讲解)
Sep 02 #jQuery
自制简易打赏功能的实例
Sep 02 #Javascript
Vue使用vue-cli创建项目
Sep 01 #Javascript
vue 里面使用axios 和封装的示例代码
Sep 01 #Javascript
You might like
杏林同学录(三)
2006/10/09 PHP
is_uploaded_file函数引发的不能上传文件问题
2013/10/29 PHP
PHP如何实现Unicode和Utf-8编码相互转换
2015/07/29 PHP
php开发工具有哪五款
2015/11/09 PHP
PHP实现微信红包金额拆分试玩的算法示例
2018/04/07 PHP
PHP之认识(二)关于Traits的用法详解
2019/04/11 PHP
为Yahoo! UI Extensions Grid增加内置的可编辑器
2007/03/10 Javascript
asp javascript 实现关闭窗口时保存数据的办法
2007/11/24 Javascript
javascript中的delete使用详解
2013/04/11 Javascript
jquery插件jquery倒计时插件分享
2013/12/27 Javascript
connect中间件session、cookie的使用方法分享
2014/06/17 Javascript
使用javascript实现Iframe自适应高度
2014/12/24 Javascript
JavaScript实现音乐自动切换和轮播
2017/11/05 Javascript
TypeScript开发Node.js程序的方法
2019/04/30 Javascript
Vue.js中的高级面试题及答案
2020/01/13 Javascript
Python使用ntplib库同步校准当地时间的方法
2016/07/02 Python
python多线程下信号处理程序示例
2019/05/31 Python
python/Matplotlib绘制复变函数图像教程
2019/11/21 Python
Centos7下源码安装Python3 及shell 脚本自动安装Python3的教程
2020/03/07 Python
Selenium基于PIL实现拼接滚动截图
2020/04/10 Python
Python使用grequests并发发送请求的示例
2020/11/05 Python
canvas学习笔记之绘制简单路径
2019/01/28 HTML / CSS
浅谈HTML5 服务器推送事件(Server-sent Events)
2017/08/01 HTML / CSS
全球销量第一生发产品:Viviscal
2017/12/21 全球购物
美国顶级水上运动专业店:Marine Products
2018/04/15 全球购物
关于Assembly命名空间的三个面试题
2015/07/23 面试题
移动通信行业实习自我鉴定
2013/09/28 职场文书
机械电子工程专业推荐信范文
2013/11/20 职场文书
班组安全员工作职责
2014/02/01 职场文书
创业培训计划书
2014/05/03 职场文书
应届大专生自荐书
2014/06/16 职场文书
2015年学校工作总结范文
2015/04/20 职场文书
初中英语教师个人工作总结2015
2015/07/21 职场文书
妇联2016年六一国际儿童节活动总结
2016/04/06 职场文书
浅谈PostgreSQL表分区的三种方式
2021/06/29 PostgreSQL
Python数组变形的几种实现方法
2022/05/30 Python