1、基本数据类型,引用数据类型

说起深拷贝浅拷贝,必须先说数据类型。在拷贝数据的时候才能看出真正差异

基本数据类型:

string,number,boolean,undefined,null,

基本数据类型:直接存储在栈(stack)中的数据

引用(对象)数据类型:

Array,Object

引用(对象)数据类型:存储的是该对象在栈中引用,真实的数据存放在堆内存里

引用(对象)数据类型在栈中存储了指针,该指针指向堆中该实体的起始地址。当解释器寻找引用值时,会首先检索其在栈中的地址,取得地址后从堆中获得实体。

2、深拷贝、浅拷贝

深拷贝和浅拷贝是只针对Object和Array这样的引用数据类型的。

浅拷贝是对数据的应用层的拷贝,拷贝的数据发生变化,原来的数值也发生变化。
示例:

深拷贝是对数据的完全拷贝,复制了引用层和真正的值,拷贝的数据发生变化,原来的数据不变,和原来的数据不相关。
深拷贝方法:利用Json对象中的parse和sringfy.
示例

let originArray = [1,2,3,4,5];
let cloneArray = JSON.parse(JSON.stringify(originArray));

3、promise

从语法上讲,promise是一个对象,从他可以获取异步操作的消息,从本意上讲,他是一个承诺,过段时间会给你一个结果。

promise是一个构造函数,有2个入参,resolve:异步操作成功之后的回调函数,reject异步操作执行失败之后的操作。还有.then .catch

完整实例:

function ajax(URL) {return new Promise(function (resolve, reject) {var req = new XMLHttpRequest(); req.open('GET', URL, true);req.onload = function () {if (req.status === 200) { resolve(req.responseText);} else {reject(new Error(req.statusText));} };req.onerror = function () {reject(new Error(req.statusText));};req.send(); });
}
var URL = "/try/ajax/testpromise.php";
ajax(URL).then(function onFulfilled(value){document.write('内容是:' + value);
}).catch(function onRejected(error){document.write('错误:' + error);
});

浅显易懂的浅拷贝深拷贝来了相关推荐

  1. Interview:算法岗位面试—10.11下午—上海某公司算法岗位(偏机器学习,互联网数字行业)技术面试考点之XGBoost的特点、python的可变不可变的数据类型、赋值浅拷贝深拷贝区别

    ML岗位面试:10.11下午-上海某公司算法岗位(偏机器学习,互联网数字行业)技术面试考点之XGBoost的特点.python的可变不可变的数据类型.赋值浅拷贝深拷贝区别 Interview:算法岗位 ...

  2. Clone方法与浅拷贝深拷贝

    Clone方法与浅拷贝&深拷贝 介绍 如何实现 浅拷贝 shallow copy 深拷贝 deep copy 数组中的clone 介绍 在Java中,如果需要创建一个对象的副本,特别是这个对象 ...

  3. 一文搞懂JS中的赋值·浅拷贝·深拷贝

    前言 为什么写拷贝这篇文章?同事有一天提到了拷贝,他说赋值就是一种浅拷贝方式,另一个同事说赋值和浅拷贝并不相同.我也有些疑惑,于是我去MDN搜一下拷贝相关内容,发现并没有关于拷贝的实质概念,没有办法只 ...

  4. python3 赋值 浅拷贝 深拷贝 简介

    目录 一.赋值 二.浅拷贝(shallow copy) 三.深拷贝(deep copy) 四.关于拷贝操作的警告 一.赋值 在python中,对象的赋值就是简单的对象引用,这点和C++不同.如下: a ...

  5. python浅拷贝 深拷贝

    Python 变量 对象 引用 1.变量 变量第一次赋值时被创建,变量在使用前必须赋值 变量本身没有类型,变量类型为它引用的对象类型: 变量在使用时被替换成它引用的对象 2.对象 对象本身具有计数和类 ...

  6. 【设计模式】原型模式 ( 浅拷贝 | 深拷贝 | 原型与单例冲突 | 禁用 final )

    文章目录 I . 原型模式 总结 II . 原型模式 浅拷贝 III . 原型模式 深拷贝 IV . 原型模式 与 单例 V . 原型模式 中的 final 关键字 ( 禁止出现 ) I . 原型模式 ...

  7. python 实例对象 浅拷贝_Python3 入门教程——浅拷贝深拷贝差别

    前言 在 Python 中提供了一个用于拷贝操作的 copy 模块,该模块中提供 浅拷贝 和 深拷贝 两种操作,其中: 浅拷贝:只是将对象管理地址进行打包复制,其内部的元素的并未进行复制,而是使用旧的 ...

  8. 【Python基础避坑】函数内存底层分析,全局变量/局部变量,参数传递,浅拷贝/深拷贝

    老高说,基本功不扎实会在工作中遇到很多的坑,非常同意- 函数定义示例 1.含有返回值 # -*-coding:utf-8-*- def add(a, b):'''两数相加'''sum = a + br ...

  9. C++ 类的深拷贝与浅拷贝||深拷贝通过重载拷贝构造函数与重载赋值运算符实现

    http://blog.csdn.net/wangshihui512/article/details/9842225 在面向对象程序设计中,对象间的相互拷贝和赋值是经常进行的操作. 如果对象在申明的同 ...

最新文章

  1. 连载MariaDB Crash Cource中文笔记(第二)
  2. Bugku-CTF之前女友(SKCTF)
  3. 【DIY】热水器升级加装远程wifi控制功能,esp8266远程红外控制热水器启动,稳定连续运行4天了,功能展示终稿...
  4. Tar打包、压缩与解压缩到指定目录的方法
  5. django中间件及中间件实现的登录验证
  6. 苹果Apple Watch样机Mockups素材,你用过吗?
  7. 普洛斯库列科夫 线性代数习题集_高等数学 高等代数习题集
  8. 2020年IPTV系统解决方案应该注意哪些问题?
  9. android 蓝牙打印乱码,蓝牙打印机打印中文乱码
  10. 郭盛华是如何登上神坛?令全世界认识了中国的黑科技
  11. iOS获取本地音乐文件
  12. eclipse导入系统签名
  13. 电容ESR表(一) 电容ESR表的特点、测量原理、电路分析
  14. 计算机能直接执行的语言程序是,计算机能够直接执行的程序是什么语言
  15. 第一个C++的程序你好世界
  16. SGU133 Border
  17. OpenGL(十三) 天空盒 的 shader 实现
  18. 简易的python计时器
  19. 区别MSE,欧式距离的公式
  20. 不会原创视频,如何运营抖音账号?

热门文章

  1. RDLC报表格式化format表达式
  2. 什么叫抽象,编程中怎么理解抽象的概念。
  3. 海思Hi3559AV100平台韦根接收程序
  4. python文本自动伪原创_如何实现文章AI伪原创?
  5. 机械工程数据科学与计算机学院,计算机与信息技术学院
  6. 公安统计报表计算机信息系统2015版,[广东省东莞市公安统计报表信息系统的设计与实现.ppt...
  7. xp计算机限制打开u盘,禁止xp系统U盘写入文件的四个方法
  8. MSSQL · 最佳实践 · SQL Server备份策略
  9. 3.2.1 正则表达式的语法(3)
  10. 复盘eygle在甲骨文大会上演讲中的示例,看看什么是大师的由点及面