浅谈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 相关文章推荐
Js的MessageBox
Dec 03 Javascript
豆瓣网的jquery代码实例
Jun 15 Javascript
最佳的addEvent事件绑定是怎样诞生的
Oct 24 Javascript
JS搜狐面试题分析
Dec 16 Javascript
JS实现获取来自百度,Google,soso,sogou关键词的方法
Dec 21 Javascript
vue实现todolist单页面应用
Apr 11 Javascript
AngularJS中filter的使用实例详解
Aug 25 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
Nov 13 Javascript
javascript事件循环event loop的简单模型解释与应用分析
Mar 14 Javascript
微信小程序学习总结(二)样式、属性、模板操作分析
Jun 04 Javascript
Vue实现计算器计算效果
Aug 17 Javascript
前端性能优化建议
Sep 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
全国FM电台频率大全 - 17 湖北省
2020/03/11 无线电
VML绘图板②脚本--VMLgraph.js、XMLtool.js
2006/10/09 PHP
php array的学习笔记
2012/05/10 PHP
PHP+jQuery 注册模块的改进(三):更新到Smarty3.1
2014/10/14 PHP
PHP实现截取中文字符串不出现?号的解决方法
2016/12/29 PHP
PHP实现的简单异常处理类示例
2017/05/04 PHP
ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解
2019/04/03 PHP
一个多次搜索+多次传值的解决方案
2007/01/20 Javascript
JavaScript下利用fso判断文件是否存在的代码
2010/12/11 Javascript
js String对象中常用方法小结(字符串操作)
2012/01/27 Javascript
Jquery增加鼠标中间功能mousewheel的实例代码
2013/09/05 Javascript
jquery中$(#form :input)与$(#form input)的区别
2014/08/18 Javascript
基于NodeJS的前后端分离的思考与实践(四)安全问题解决方案
2014/09/26 NodeJs
Jquery实现图片预加载与延时加载的方法
2014/12/22 Javascript
javascript中的遍历for in 以及with的用法
2014/12/22 Javascript
JavaScript实现字符串与日期的互相转换及日期的格式化
2016/03/07 Javascript
原生js实现旋转木马轮播图效果
2017/02/27 Javascript
ES6 javascript的异步操作实例详解
2017/10/30 Javascript
React精髓!一篇全概括小结(急速)
2019/05/23 Javascript
jQuery删除/清空指定元素的所有子节点实例代码
2019/07/04 jQuery
详解Vue2.5+迁移至Typescript指南
2019/08/01 Javascript
使用vue制作滑动标签
2019/09/21 Javascript
[01:02:03]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS VG
2014/05/26 DOTA
Python中顺序表的实现简单代码分享
2018/01/09 Python
python+matplotlib绘制旋转椭圆实例代码
2018/01/12 Python
python递归实现快速排序
2018/08/18 Python
np.newaxis 实现为 numpy.ndarray(多维数组)增加一个轴
2019/11/30 Python
python脚本后台执行方式
2019/12/21 Python
python re模块常见用法例举
2021/03/01 Python
让IE6、IE7、IE8支持CSS3的脚本
2010/07/20 HTML / CSS
HTML5 3D书本翻页动画的实现示例
2019/08/28 HTML / CSS
师范学院美术系毕业生自我鉴定
2014/01/29 职场文书
母亲节演讲稿
2014/05/27 职场文书
地道战观后感
2015/06/04 职场文书
大学新生入学感想
2015/08/07 职场文书
2019员工保密协议书(3篇)
2019/09/23 职场文书