浅谈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 相关文章推荐
JavaScript中的一些定位属性[图解]
Jul 14 Javascript
css值转换成数值请抛弃parseInt
Oct 24 Javascript
基于jquery的textarea发布框限制文字字数输入(添加中文识别)
Feb 16 Javascript
js变换显示图片的实例
Apr 16 Javascript
Javascript中判断变量是数组还是对象(array还是object)
Aug 14 Javascript
showModelDialog弹出文件下载窗口的使用示例
Nov 19 Javascript
JS 日期比较大小的简单实例
Jan 13 Javascript
解决js下referer兼容各大浏览器的方法
Nov 03 Javascript
原生js轮播特效
May 18 Javascript
简单实现js进度条加载效果
Mar 25 Javascript
element-ui upload组件多文件上传的示例代码
Oct 17 Javascript
详解基于Vue/React项目的移动端适配方案
Aug 23 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
十大“创意”战术!
2020/03/04 星际争霸
如何过滤高亮显示非法字符
2006/10/09 PHP
php插入排序法实现数组排序实例
2015/02/16 PHP
PHP中配置IIS7实现基本身份验证的方法
2015/09/24 PHP
PHP+apc+ajax实现的ajax_upload上传进度条代码
2016/01/25 PHP
PHP常量define和const的区别详解
2019/05/18 PHP
chrome原生方法之数组
2011/11/30 Javascript
javascript跑马灯悬停放大效果实现代码
2012/12/12 Javascript
基于bootstrap3和jquery的分页插件
2015/07/31 Javascript
Three.js学习之Lamber材质和Phong材质
2016/08/04 Javascript
vue-router:嵌套路由的使用方法
2017/02/21 Javascript
js实现无缝滚动图
2017/02/22 Javascript
Extjs表单输入框异步校验的插件实现方法
2017/03/20 Javascript
JS实现数组去重方法总结(六种方法)
2017/07/14 Javascript
Angular使用动态加载组件方法实现Dialog的示例
2018/05/11 Javascript
深入学习TypeScript 、React、 Redux和Ant-Design的最佳实践
2019/06/17 Javascript
利用打码兔和超人打码自封装的打码类分享
2014/03/16 Python
Python3 模块、包调用&路径详解
2017/10/25 Python
python编程嵌套函数实例代码
2018/02/11 Python
NumPy.npy与pandas DataFrame的实例讲解
2018/07/09 Python
关于python3中setup.py小概念解析
2019/08/22 Python
python+selenium+chrome实现淘宝购物车秒杀自动结算
2021/01/07 Python
CSS3实现点击放大的动画实例代码
2017/02/27 HTML / CSS
Priority Pass机场贵宾室会籍计划:全球超过1200间机场贵宾室
2018/08/26 全球购物
KARATOV珠宝在线商店:俄罗斯珠宝品牌
2019/03/13 全球购物
程序运行正确, 但退出时却"core dump"了,怎么回事
2014/02/19 面试题
名词解释型面试题(主要是网络)
2013/12/27 面试题
护士自荐信怎么写
2013/10/18 职场文书
实习老师离校感言
2014/02/03 职场文书
客户接待方案
2014/02/26 职场文书
探亲假请假条
2014/04/11 职场文书
社区护士演讲稿
2014/08/27 职场文书
区域经理岗位职责
2015/02/02 职场文书
2019军训心得体会
2019/06/27 职场文书
Python中Permission denied的解决方案
2021/04/02 Python
SQL模糊查询报:ORA-00909:参数个数无效问题的解决
2021/06/21 Oracle