浅谈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 相关文章推荐
探索Emberjs制作一个简单的Todo应用
Nov 07 Javascript
IE8对JS通过属性和数组遍历解析不一样的地方探讨
May 06 Javascript
类似天猫商品详情随浏览器移动的示例代码
Feb 27 Javascript
JavaScript的React Web库的理念剖析及基础上手指南
May 10 Javascript
AngularJS实践之使用NgModelController进行数据绑定
Oct 08 Javascript
微信小程序 swiper组件轮播图详解及实例
Nov 16 Javascript
react native仿微信PopupWindow效果的实例代码
Aug 07 Javascript
JS删除数组里的某个元素方法
Feb 03 Javascript
vue基础之事件v-onclick="函数"用法示例
Mar 11 Javascript
Vue起步(无cli)的啊教程详解
Apr 11 Javascript
微信小程序实现弹出菜单动画
Jun 21 Javascript
react基本安装与测试示例
Apr 27 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
把77A收信机改造成收音机
2021/03/02 无线电
php学习之 认清变量的作用范围
2010/01/26 PHP
php 文章调用类代码
2011/08/11 PHP
php检测网页是否被百度收录的函数代码
2013/10/09 PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
2014/12/18 PHP
php使用sql server验证连接数据库的方法
2014/12/25 PHP
mysql_escape_string()函数用法分析
2016/04/25 PHP
tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例
2018/05/24 PHP
IE浏览器兼容Firefox的JS脚本的代码
2008/10/23 Javascript
javascript小数计算出现近似值的解决办法
2010/02/06 Javascript
jquery实现瀑布流效果分享
2014/03/26 Javascript
JS仿iGoogle自定义首页模块拖拽特效的方法
2015/02/13 Javascript
Node.js 学习笔记之简介、安装及配置
2015/03/03 Javascript
javascript实现动态导入js与css等静态资源文件的方法
2015/07/25 Javascript
JS简单实现城市二级联动选择插件的方法
2015/08/19 Javascript
js获取及修改网页背景色和字体色的方法
2015/12/29 Javascript
详细分析Javascript中创建对象的四种方式
2016/08/17 Javascript
js本地图片预览实现代码
2016/10/09 Javascript
JavaScript在form表单中使用button按钮实现submit提交方法
2017/01/23 Javascript
教你用十行node.js代码读取docx的文本
2017/03/08 Javascript
Vuex之理解Store的用法
2017/04/19 Javascript
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
2017/11/14 jQuery
node中的密码安全(加密)
2018/09/17 Javascript
javascript实现打砖块小游戏(附完整源码)
2020/09/18 Javascript
[46:49]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.19
2020/12/24 DOTA
python 读取目录下csv文件并绘制曲线v111的方法
2018/07/06 Python
Python+PyQt5实现美剧爬虫可视工具的方法
2019/04/25 Python
python3.6环境安装+pip环境配置教程图文详解
2019/06/20 Python
什么是python的id函数
2020/06/11 Python
Python爬取网站图片并保存的实现示例
2021/02/26 Python
雅萌 (YA-MAN) :日本美容家电领域的龙头企业
2017/05/12 全球购物
写好自荐信的几个要点
2013/12/26 职场文书
党员教师个人对照检查材料(群众路线)
2014/09/26 职场文书
2019生态环境保护倡议书!
2019/07/03 职场文书
react使用antd的上传组件实现文件表单一起提交功能(完整代码)
2021/06/29 Javascript
macos系统如何实现微信双开? mac登录两个微信以上微信的技巧
2022/07/23 数码科技