浅谈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 绑定事件时传递参数的实现方法
Oct 13 Javascript
js 数值转换为3位逗号分隔的示例代码
Feb 19 Javascript
js实现鼠标滚轮控制图片缩放效果的方法
Feb 20 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串、list集合
Aug 11 Javascript
js调用屏幕宽度的简单方法
Nov 14 Javascript
ionic3实战教程之随机布局瀑布流的实现方法
Dec 28 Javascript
vue中手机号,邮箱正则验证以及60s发送验证码的实例
Mar 16 Javascript
用Vue.js在浏览器中实现裁剪图像功能
Jun 18 Javascript
基于vue.js实现购物车
Jan 15 Javascript
Vue实现移动端拖拽交换位置
Jul 29 Javascript
Vue+element-ui添加自定义右键菜单的方法示例
Dec 08 Vue.js
vue基于Teleport实现Modal组件
May 31 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中对用户身份认证实现两种方法
2011/06/04 PHP
sql注入与转义的php函数代码
2013/06/17 PHP
AJAX的跨域访问-两种有效的解决方法介绍
2013/06/22 PHP
PHP面试题之文件目录操作
2015/10/15 PHP
PHP接入支付宝接口失效流程详解
2020/11/10 PHP
jQuery实现数秒后自动提交form的方法
2015/03/05 Javascript
JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】
2016/05/10 Javascript
jquery实现无刷新验证码的简单实例
2016/05/19 Javascript
浅析JavaScript中命名空间namespace模式
2016/06/22 Javascript
jquery组件WebUploader文件上传用法详解
2020/10/23 Javascript
JS新包管理工具yarn和npm的对比与使用入门
2016/12/09 Javascript
VueJs单页应用实现微信网页授权及微信分享功能示例
2017/07/26 Javascript
使用Vue写一个datepicker的示例
2018/01/27 Javascript
jQuery+koa2实现简单的Ajax请求的示例
2018/03/06 jQuery
在Vue项目中引入腾讯验证码服务的教程
2018/04/03 Javascript
webpack热模块替换(HMR)/热更新的方法
2018/04/05 Javascript
Vue 列表上下过渡效果的实例代码
2019/06/25 Javascript
详解Python最长公共子串和最长公共子序列的实现
2018/07/07 Python
浅谈dataframe中更改列属性的方法
2018/07/10 Python
对Python3 序列解包详解
2019/02/16 Python
python socket通信编程实现文件上传代码实例
2019/12/14 Python
分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了
2020/12/27 Python
详解通过focusout事件解决IOS键盘收起时界面不归位的问题
2019/07/18 HTML / CSS
马来西亚网上美容店:Hermo.my
2017/11/25 全球购物
中科创达面试题
2016/12/28 面试题
美术师范毕业生自荐信
2013/11/16 职场文书
拓展培训心得体会
2014/01/04 职场文书
优秀干部获奖感言
2014/01/31 职场文书
《九色鹿》教学反思
2014/02/27 职场文书
《果园机器人》教学反思
2014/04/13 职场文书
离婚协议书格式
2015/01/26 职场文书
ktv服务员岗位职责
2015/02/09 职场文书
英语教师求职信范文
2015/03/20 职场文书
2015年爱国卫生工作总结
2015/04/22 职场文书
win10下go mod配置方式
2021/04/25 Golang
html输入两个数实现加减乘除功能
2021/07/01 HTML / CSS