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

如何给网站添加搜索关键字网站查询功能怎么做

如何给网站添加搜索关键字,网站查询功能怎么做,有没有做语文题的网站,玩具租赁系统网站开发与实现深度克隆#xff08;Deep Clone#xff09;是指复制一个对象或数组及其所有嵌套结构的副本#xff0c;使得克隆后的对象与原对象完全独立。JavaScript 提供了一些方法实现深度克隆#xff0c;但每种方法有其优缺点。 1. 常用方法 1.1 使用 JSON.parse 和 JSON.stringify …深度克隆Deep Clone是指复制一个对象或数组及其所有嵌套结构的副本使得克隆后的对象与原对象完全独立。JavaScript 提供了一些方法实现深度克隆但每种方法有其优缺点。 1. 常用方法 1.1 使用 JSON.parse 和 JSON.stringify 这种方法最简单但有局限性。 const obj { a: 1, b: { c: 2 } }; const clone JSON.parse(JSON.stringify(obj));console.log(clone); // { a: 1, b: { c: 2 } } console.log(clone obj); // false console.log(clone.b obj.b); // false优点 简单易用。适用于纯 JSON 格式的数据。 缺点 不支持函数、undefined、Symbol、循环引用等。日期对象会变成字符串RegExp 对象会丢失。 1.2 使用 structuredClone structuredClone 是一种内置的深拷贝方法支持复杂数据结构。 const obj { a: 1, b: { c: 2 }, d: new Date() }; const clone structuredClone(obj);console.log(clone); // { a: 1, b: { c: 2 }, d: Date } console.log(clone obj); // false console.log(clone.b obj.b); // false优点 支持更多类型如 Date、RegExp、Map、Set 等。处理循环引用。 缺点 不支持旧版本浏览器。 1.3 使用递归实现深度克隆 通过递归遍历对象和数组手动实现深拷贝。 function deepClone(obj) {if (obj null || typeof obj ! object) {return obj;}if (obj instanceof Date) {return new Date(obj);}if (obj instanceof RegExp) {return new RegExp(obj);}const clone Array.isArray(obj) ? [] : {};for (const key in obj) {if (obj.hasOwnProperty(key)) {clone[key] deepClone(obj[key]);}}return clone; }const obj { a: 1, b: { c: 2 }, d: new Date() }; const clone deepClone(obj);console.log(clone); // { a: 1, b: { c: 2 }, d: Date } console.log(clone obj); // false console.log(clone.b obj.b); // false优点 完全控制克隆逻辑。支持特定类型的处理。 缺点 不支持循环引用需额外处理。 2. 循环引用处理 对于有循环引用的对象需要使用 WeakMap 来避免递归陷入死循环。 function deepClone (value, cache new WeakMap ()) {if (typeof value ! object || value null) {return value;}if (cache.has(value)) {return cache.get(value);}const result Array.isArray(value) ? [] : {};Object.setPrototypeOf(result, Object.getPrototypeOf(value));cache.set(value, result);for (i in value) {if (value.hasOwnProperty(i)) {result[i] deepClone(value[i], cache);}}return result; }const obj { a: 1 }; obj.b obj; // 循环引用let clone deepClone(obj); console.log(clone); // { a: 1, b: [Circular] }const Person function(name, age) {this.name name;this.age age; }Person.prototype.a 100;clone new Person(a, 12)console.log(clone); 3. 方法对比 方法支持类型处理循环引用性能易用性JSON.parse/stringify仅支持 JSON 格式否高简单structuredClone支持大部分类型是高简单手动递归可定制支持类型否需扩展中中等Lodash支持复杂结构和循环引用是中简单 推荐 数据结构简单使用 JSON.parse 和 JSON.stringify。现代浏览器使用 structuredClone。复杂场景使用 Lodash 或手动实现带循环引用处理的深拷贝函数。
http://www.hkea.cn/news/14368796/

相关文章:

  • 爱站网seo旅游网站建设的概念
  • 网站标题应该怎么做SEO优化wordpress 响应式
  • 网站建设投资wordpress设置301重定向
  • 深圳公司网站如何设计网站开发工程
  • 做公开网站的步骤小程序开发教程pdf
  • 一般网站建设中的推广费用建设专业网站排名
  • 免费素材库下载便宜营销型网站建设优化建站
  • 园林网站源代码微博广告
  • 国内外高校门户网站建设免费建立小程序网站
  • 山西房地产网站建设品牌建设规划制定情况
  • 门户网站名词解释建网站做相亲
  • 500m主机空间能做视频网站吗装潢设计就业前景
  • 策划网站做推广的公司官方新闻平台有哪些
  • 中国建设银行网站上不去河南省近期新闻热点
  • 合肥高端网站扬州网站建设企业
  • 设置一个网站到期页面怎么样提升自己的学历
  • 网站开发 分类编码中国建设银行官网站保本理财
  • 简洁大气网站模板企业邮箱怎么申请的
  • 苏州市住房城乡建设局网站在百度搜不到网站
  • 网站做关键词链接有用吗惠州市网站制作公司
  • jsp网站开发四酷全书小程序模板源码免费下载
  • h5哪个网站可以做上海市建设监理协会网站查询
  • 要建立网站是否要先做网页设计_然后把网页设计与数据库连接起来?营销网站与传统网站的区别
  • dw网站导航怎么做个人网站如何备案
  • 瑞金网站建设光龙电子商务网站规划与设计
  • 运营好还是网站开发好wordpress和织梦百度收录
  • 网站建设和维护待遇怎样建站至尊
  • 英国小子做房产网站上海专业做网站的
  • 手机wap版网站制作青海省建设局网站首页
  • 企业网站哪里可以做网站建设属于技术服务吗