当前位置: 首页 > news >正文

电影网站app怎么做的知名网站设计欣赏

电影网站app怎么做的,知名网站设计欣赏,个人网站开发的论文,文字壁纸做背景处理的网站structuredClone 简介 structuredClone 是现代浏览器提供的原生 JavaScript 方法,用于深拷贝对象。它可以处理各种复杂数据结构,包括嵌套对象、数组、Date、Map、Set 等,且支持循环引用。 语法 const clone structuredClone(value);value:…

structuredClone 简介

structuredClone 是现代浏览器提供的原生 JavaScript 方法,用于深拷贝对象。它可以处理各种复杂数据结构,包括嵌套对象、数组、Date、Map、Set 等,且支持循环引用。


语法

const clone = structuredClone(value);
  • value: 需要深拷贝的值,可以是任何支持的 JavaScript数据结构。
  • 返回值是完全独立的深拷贝对象。

支持的类型

structuredClone 支持多种类型,包括:

  • 基本数据类型: string, number, boolean, null, undefined, Symbol
  • 复杂对象: Object, Array, Date, Map, Set, ArrayBuffer, TypedArray
  • 循环引用: 能正确处理循环引用的结构。

示例

基本对象深拷贝
const obj = { a: 1, b: { c: 2 } };
const deepCopy = structuredClone(obj);deepCopy.b.c = 42;
console.log(obj.b.c); // 输出 2,原对象未受影响
处理数组
const arr = [1, [2, 3], 4];
const deepCopy = structuredClone(arr);deepCopy[1][0] = 42;
console.log(arr[1][0]); // 输出 2,原数组未受影响
支持循环引用
const obj = { a: 1 };
obj.self = obj; // 创建循环引用const deepCopy = structuredClone(obj);
console.log(deepCopy.self === deepCopy); // 输出 true,循环引用也被正确复制
拷贝特殊对象
const special = {date: new Date(),map: new Map([['key', 'value']]),set: new Set([1, 2, 3])
};const deepCopy = structuredClone(special);console.log(deepCopy.date === special.date); // 输出 false,完全独立
console.log(deepCopy.map.get('key')); // 输出 'value'
console.log(deepCopy.set.has(1)); // 输出 true

无法拷贝的类型

以下类型的值不支持 structuredClone,会抛出异常:

  • 函数 (Function)
  • DOM 节点
  • 类实例(例如自定义类对象)
const fn = { a: () => {} }; 
structuredClone(fn); // 抛出异常:Uncaught DOMException

优势

  1. 原生支持:不需要第三方库。
  2. 性能优化:相比于 JSON.parse(JSON.stringify) 更快,更安全。
  3. 更多支持的类型:支持 Date、Map、Set、循环引用等复杂结构。
  4. 不受 JSON 限制:能够处理 undefined 和特殊对象。

局限性

  1. 不支持拷贝函数、DOM 节点、自定义类实例。
  2. 需要现代浏览器支持(较老的环境中不可用)。

浏览器兼容性

  • structuredClone 是现代浏览器(如 Chrome 98+、Edge 98+、Firefox 94+)中才支持的 API。
  • 如果需要在不支持 structuredClone 的环境中使用,可以考虑手动实现深拷贝或使用第三方库(如 Lodash 的 cloneDeep)。

总结

structuredClone 是深拷贝对象和数据结构的最佳原生解决方案之一。对于现代开发者来说,它是一个便捷且性能优越的工具,尤其是在处理复杂对象和循环引用时。

http://www.yayakq.cn/news/849201/

相关文章:

  • 网站运营阶段江西省上饶市网站建设公司
  • 企业域名申请流程北京seo分析
  • 江苏屹峰建设网站如何建立一个公司网页简介
  • 上海网站seo策划涉县网站
  • 深圳百度网站推广平阳县住房和城乡规划建设局网站
  • 中国工商银行官方网站登录零基础网站建设入门到精通视频教
  • 微信公众平台做微网站南京网站关键词
  • 网站建设的经费预算报告手机端网站怎么做
  • 成都专业建设网站小说抄写员兼职app
  • 网站系统解决方案海报制作网站免费
  • 宣城市建设监督管理局网站建设厅网站上人员怎么导出
  • 模板网站建设咨询网站建设哪儿好
  • 花都区住房和城市建设部网站百度秒收录软件
  • 青岛外贸网站建设哪家好给用ps做的网站加div
  • 专门代做毕设的网站网站源码地址怎么看
  • 酒泉如何做百度的网站做去自己的网站首页
  • wordpress站内301二类电商平台
  • 有可以免费建网站的吗建设网站公司中
  • 网站建设 $ 金手指排名效果好北京中信建设有限责任公司
  • 怎么样销售关于网站建设网站开发交流
  • 软件网站开发培训网站开发专业优势
  • 在线网站设计工具游戏推广网站怎么做
  • 好用的网站缙云做网站
  • 苏州网站设计公司兴田德润i网址多少中国企业在线网
  • 中国建设银行手机网站下载安装站酷网页版
  • 先做它个天猫网站c语言精品网站开发的教学
  • 宿迁网站建设SEO优化营销北京西站附近景点
  • 网站建设设计软件杭州网站建设 企业
  • 嘉兴模板建站软件最新新闻热点事件短篇
  • 原则网站设计版式网页设计与制作大赛