浅谈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 相关文章推荐
各浏览器对link标签onload/onreadystatechange事件支持的差异分析
Apr 27 Javascript
jQuery ajax dataType值为text json探索分享
Sep 23 Javascript
javascript计算当月剩余天数(天数计算器)示例代码
Jan 09 Javascript
JavaScript实现节点的删除与序号重建实例
Aug 05 Javascript
Jquery实现顶部弹出框特效
Aug 08 Javascript
js小数运算出现多位小数如何解决
Oct 08 Javascript
Angular JS数据的双向绑定详解及实例
Dec 31 Javascript
神级程序员JavaScript300行代码搞定汉字转拼音
May 20 Javascript
JS路由跳转的简单实现代码
Sep 21 Javascript
JS实现瀑布流布局
Oct 21 Javascript
Node.js之readline模块的使用详解
Mar 25 Javascript
整理 node-sass 安装失败的原因及解决办法(小结)
Feb 19 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
php单一接口的实现方法
2015/06/20 PHP
php类的扩展和继承用法实例
2015/06/20 PHP
jQuery 1.5最新版本的改进细节分析
2011/01/19 Javascript
JS输入用户名自动显示邮箱后缀列表的方法
2015/01/27 Javascript
jQuery密码强度检测插件passwordStrength用法实例分析
2015/10/30 Javascript
js性能优化技巧
2015/11/29 Javascript
JavaScript仿淘宝页面图片滚动加载及刷新回顶部的方法解析
2016/05/24 Javascript
vue制作加载更多功能的正确打开方式
2016/10/12 Javascript
js实现3D图片展示效果
2017/03/09 Javascript
NodeJS自定义模块写法(详解)
2017/06/27 NodeJs
详解nodejs的express如何自动生成项目框架
2017/07/12 NodeJs
NodeJs实现简易WEB上传下载服务器
2019/08/10 NodeJs
JS实现手写 forEach算法示例
2020/04/29 Javascript
vue iview 隐藏Table组件里的某一列操作
2020/11/13 Javascript
[03:18]【TI9纪实】社区大触GL与木木
2019/08/25 DOTA
python连接sql server乱码的解决方法
2013/01/28 Python
跟老齐学Python之深入变量和引用对象
2014/09/24 Python
基于python实现的抓取腾讯视频所有电影的爬虫
2016/04/22 Python
Python之py2exe打包工具详解
2017/06/14 Python
python使用正则表达式的search()函数实现指定位置搜索功能
2017/11/10 Python
python实现kNN算法
2017/12/20 Python
python实现监控某个服务 服务崩溃即发送邮件报告
2018/06/21 Python
python实现时间o(1)的最小栈的实例代码
2018/07/23 Python
python+openCV利用摄像头实现人员活动检测
2019/06/22 Python
python继承threading.Thread实现有返回值的子类实例
2020/05/02 Python
html5 localStorage本地存储_动力节点Java学院整理
2017/07/06 HTML / CSS
美国知名男士服饰品牌:Brooks Brothers(布克兄弟)
2016/08/25 全球购物
巴西体育用品商店:Lojão dos Esportes
2018/07/21 全球购物
法律工作求职自荐信
2013/10/31 职场文书
前台文员个人求职信范文
2014/01/05 职场文书
生产操作工岗位职责
2014/09/16 职场文书
2014年服务员工作总结
2014/11/18 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
HTML中table表格拆分合并(colspan、rowspan)
2021/04/07 HTML / CSS
nginx从安装到配置详细说明(安装,安全配置,防盗链,动静分离,配置 HTTPS,性能优化)
2022/02/12 Servers