MessageChannel可以进行深拷贝

前俩天从抖音上的一个老师了解到MessageChannel可以进行深拷贝

function deepClone(obj) {return new Promise(resolve => {const {port1,port2} = new MessageChannel();port1.postMessage(obj);port2.onmessage(msg => {resolve(msg.data);});})
}

可以点击链接看看这位大佬写的资料

资料

js深拷贝可以这样做相关推荐

  1. 详解JS深拷贝与浅拷贝

    深拷贝与浅拷贝 深拷贝和浅拷贝都只针对引用数据类型,浅拷贝会对对象逐个成员依次拷贝,但只复制内存地址,而不复制对象本身,新旧对象成员还是共享同一内存:深拷贝会另外创建一个一模一样的对象,新对象跟原对象 ...

  2. Angular 开发里的 polyfills.js、runtime.js、styles.js 和 vendor.js 是用来做什么的

    what is main.js and main.js.map? and other stuff 问题 chunk {main} main.js, main.js.map (main) 24.5 kB ...

  3. 利用js的闭包原理做对象封装及调用方法

    创建一个js文件,名为testClosure.js: ? 1 2 3 4 5 6 7 8 9 (function () {   function a()   {     alert('i am a') ...

  4. js的new操作符做了哪些事情

    js的new操作符做了哪些事情 new 操作符新建了一个空对象,这个对象原型指向构造函数的prototype,执行构造函数后返回这个对象.

  5. node.js是用来做什么的?

    Node.js是一个基于Chrome V8引擎的JavaScript运行环境.Node对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好. 我们都知道计算机处理器智能识别机器 ...

  6. js深拷贝和浅拷贝的区别

    js深拷贝和浅拷贝的区别 如何来区分深拷贝和浅拷贝,其实简单,例如: 就是我声明一个obj对象,如何让var a直接等于obj,然后有在obj新增个fun,此时的a也会随着新增个fun,相同a新增数据 ...

  7. JS深拷贝对象方法封装

    JS深拷贝对象f 代码如下(示例): export function deepCopy(obj) {var objClone = Array.isArray(obj) ? [] : {};if (ob ...

  8. js用for循环做九九乘法表

    js用for循环做九九乘法表 代码如下: //先声明一个变量,存放和. var sum = 0; //循环九次. for (i = 1; i <= 9; i++) {//从1开始循环,循环第一次 ...

  9. js深拷贝和浅拷贝对数组的影响_javascript之浅拷贝与深拷贝

    好久没提笔写文章了,之前忙得喘不过气,过年回家也无心学习.年后回来后,调整好状态,准备把js基础重新过一遍. 正文从此开始: 之所以写这篇文章是因为Leader最近在面试,回来和我们数落了一通,问一个 ...

最新文章

  1. MYSQL5 表列更名删除等操作测试(更新中...)
  2. 使用Boost.Compute的STL 在GPU上添加两个向量的实现
  3. 输出任意一元二次函数的结果值
  4. [十一]SpringBoot 之 添加JSP支持
  5. Angular @HostListener 装饰器的使用笔记
  6. python request下载文件_Python3.4.3使用urllib.request下载文件带进度显示
  7. Qt-捕获Windows消息
  8. 【pyqt5学习】——containers相关控件(tab widget、scroll area、stack widget、tool box、MDI area、dock widget)
  9. JSP中的注释操作及JSP中的三种Scriptlet
  10. Spring面试,IoC和AOP的理解
  11. printf 小代码 大问题
  12. IBM T43 开机停止在LOGO画面
  13. LAMP兄弟连PHP全民总动员
  14. csr8675硬件支持蓝牙5.0还是4.2?5.0是不是后来软升级达到的效果?
  15. Running MaxQuant——蛋白质组学建库软件(一)
  16. Python中文数字对照表,学生成绩管理【笔记】
  17. apache ab linux 下载,linux 下ab压力测试
  18. matlab如何将二进制转换为十进制,matlab – 如何在不使用循环的情况下将二进制转换为十进制?...
  19. AutoJs+mitmproxy App爬虫
  20. 5G,上天了!卫星和基站擦出了火花?

热门文章

  1. 用easynetty进行服务端回签同步确认
  2. Unity解析和读取文本—— txt 文件
  3. 关于STM32利用TIM+PWM+DMA控制WS2812
  4. tcp 如何维护长连接
  5. 8年老码农现身说法:大龄程序员找工作,为什么这么难?
  6. on java读书笔记
  7. table表头行固定
  8. 计算机软件logo设计,硕思logo设计师(logo设计软件)
  9. StoneDB 团队成员与 MySQL 之父 Monty 会面,共话未来数据库形态
  10. json转对象(GsonFormatPlus)