浅谈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 相关文章推荐
JQuery实现简单验证码提示解决方案
Dec 20 Javascript
jquery的冒泡事件的阻止与允许(三种实现方法)
Feb 01 Javascript
JavaScript四种调用模式和this示例介绍
Jan 02 Javascript
一个支持任意尺寸的图片上下左右滑动效果
Aug 24 Javascript
js事件处理程序跨浏览器解决方案
Mar 27 Javascript
设计模式中的组合模式在JavaScript程序构建中的使用
May 18 Javascript
PHP+jquery+ajax实现分页
Dec 09 Javascript
JS实现浏览上传文件的代码
Aug 23 Javascript
vue.js获得当前元素的文字信息方法
Mar 09 Javascript
TypeScript魔法堂之枚举的超实用手册
Oct 29 Javascript
微信小程序实现modal弹出框遮罩层组件(可带文本框)
Dec 20 Javascript
浅谈Vue的computed计算属性
Mar 21 Vue.js
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封装的完整分页类示例
2018/08/21 PHP
解决windows上php xdebug 无法调试的问题
2020/02/19 PHP
PHP执行普通shell命令流程解析
2020/08/24 PHP
javascript 函数使用说明
2010/04/07 Javascript
javascript模拟的Ping效果代码 (Web Ping)
2011/03/13 Javascript
也说JavaScript中String类的replace函数
2011/09/22 Javascript
jquery选择器之基本过滤选择器详解
2014/01/27 Javascript
Javascript中innerHTML用法实例分析
2015/01/12 Javascript
javascript每日必学之运算符
2016/02/16 Javascript
js字符串截取函数slice、substring和substr的比较
2016/05/17 Javascript
jQuery包裹节点用法完整示例
2016/09/13 Javascript
jQuery 插件封装的方法
2016/11/16 Javascript
JavaScript反射与依赖注入实例详解
2018/05/29 Javascript
谈谈React中的Render Props模式
2018/12/06 Javascript
详解在create-react-app使用less与antd按需加载
2018/12/06 Javascript
nodejs开发一个最简单的web服务器实例讲解
2020/01/02 NodeJs
Vue Router 实现动态路由和常见问题及解决方法
2020/03/06 Javascript
vue 微信分享回调iOS和安卓回调出现错误的解决
2020/09/07 Javascript
[57:53]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#3OG VS VP
2016/03/03 DOTA
跟老齐学Python之变量和参数
2014/10/10 Python
python创建进程fork用法
2015/06/04 Python
python比较两个列表大小的方法
2015/07/11 Python
Python for Informatics 第11章 正则表达式(一)
2016/04/21 Python
python中异常捕获方法详解
2017/03/03 Python
Django中login_required装饰器的深入介绍
2017/11/24 Python
Python中的pygal安装和绘制直方图代码分享
2017/12/08 Python
python创建与遍历List二维列表的方法
2019/08/16 Python
在python3中实现查找数组中最接近与某值的元素操作
2020/02/29 Python
Python Handler处理器和自定义Opener原理详解
2020/03/05 Python
Python字符串hashlib加密模块使用案例
2020/03/10 Python
搭建pypi私有仓库实现过程详解
2020/11/25 Python
详解如何使用CSS3中的结构伪类选择器和伪元素选择器
2020/01/06 HTML / CSS
Carter’s官方旗舰店:美国受欢迎的婴童服装品牌
2018/01/21 全球购物
First Aid Beauty官网:FAB急救面霜
2018/05/24 全球购物
服务行业个人求职的自我评价
2013/12/12 职场文书
Python中生成随机数据安全性、多功能性、用途和速度方面进行比较
2022/04/14 Python