浅谈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的gzip静态压缩方法
Jan 05 Javascript
js select常用操作控制代码
Mar 16 Javascript
基于jquery+thickbox仿校内登录注册框
Jun 07 Javascript
JS实现FLASH幻灯片图片切换效果的方法
Mar 04 Javascript
原生js和jquery实现图片轮播特效
Apr 23 Javascript
JavaScript仿淘宝页面图片滚动加载及刷新回顶部的方法解析
May 24 Javascript
JS 设置Cookie 有效期 检测cookie
Jun 15 Javascript
Vue学习笔记进阶篇之单元素过度
Jul 19 Javascript
vue axios请求拦截实例代码
Mar 29 Javascript
js贪心算法 钱币找零问题代码实例
Sep 11 Javascript
使用uni-app开发微信小程序的实现
Dec 13 Javascript
详解如何在Canvas中添加事件的方法
Apr 17 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根据传入参数合并多个JS和CSS文件的简单实现
2014/06/13 PHP
Win7环境下Apache连接MySQL提示连接已重置的解决办法
2017/05/09 PHP
Laravel使用支付宝进行支付的示例代码
2017/08/16 PHP
Laravel利用gulp如何构建前端资源详解
2018/06/03 PHP
实例讲解php实现多线程
2019/01/27 PHP
一个JavaScript继承的实现
2006/10/24 Javascript
jQuery下扩展插件和拓展函数的写法(匿名函数使用的典型例子)
2010/10/20 Javascript
基于jquery的复制网页内容到WORD的实现代码
2011/02/16 Javascript
JS 获取滚动条高度示例代码
2013/10/24 Javascript
Javascript函数式编程语言
2015/10/11 Javascript
jQuery判断浏览器并动态调整select宽度的方法
2016/03/02 Javascript
JS实现禁止鼠标右键的功能
2016/10/15 Javascript
浅谈js之字面量、对象字面量的访问、关键字in的用法
2016/11/20 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(放大缩小)
2016/12/02 Javascript
详解javascript中的变量提升和函数提升
2018/05/24 Javascript
Vue.js递归组件实现组织架构树和选人功能案例分析
2019/07/03 Javascript
vue+ElementUI 关闭对话框清空验证,清除form表单的操作
2020/08/06 Javascript
antd的select下拉框因为数据量太大造成卡顿的解决方式
2020/10/31 Javascript
Python中的yield浅析
2014/06/16 Python
python实现TCP服务器端与客户端的方法详解
2015/04/30 Python
理解python中生成器用法
2017/12/20 Python
微信跳一跳小游戏python脚本
2018/01/05 Python
Tensorflow的可视化工具Tensorboard的初步使用详解
2018/02/11 Python
使用python将大量数据导出到Excel中的小技巧分享
2018/06/14 Python
CentOS7安装Python3的教程详解
2019/04/10 Python
Python Selenium 之数据驱动测试的实现
2019/08/01 Python
Python性能分析工具py-spy原理用法解析
2020/07/27 Python
HTML5 history新特性pushState、replaceState及两者的区别
2015/12/26 HTML / CSS
Nike挪威官网:Nike.com (NO)
2018/11/26 全球购物
main 主函数执行完毕后,是否可能会再执行一段代码,给出说明
2012/12/05 面试题
若干个Java基础面试题
2015/05/19 面试题
酒店行政人事部经理职务说明书
2014/02/26 职场文书
合同协议书格式
2014/04/18 职场文书
单方离婚协议书范本2014
2014/10/28 职场文书
2014年医院工作总结
2014/11/20 职场文书
《时代广场的蟋蟀》读后感:真挚友情,温暖世界!
2020/01/08 职场文书