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

建设部网站 自住房网页设计框架

建设部网站 自住房,网页设计框架,wordpress日主题怎么样,东莞做网页设计一:什么浅拷贝: 浅拷贝创建一个新对象,然后将原始对象的所有属性值复制到新对象中。这意味着,如果原始对象的属性值是基本类型(例如数字、字符串),那么这些值会被直接复制到新对象中。但如果属…

一:什么浅拷贝:

浅拷贝创建一个新对象,然后将原始对象的所有属性值复制到新对象中。这意味着,如果原始对象的属性值是基本类型(例如数字、字符串),那么这些值会被直接复制到新对象中。但如果属性值是引用类型(例如对象或数组),则新对象中的属性仍然引用原始对象中相同的引用。有一个原始对象如下

let originObj= {a: 1,b: 2,c: {d: 4}
}

浅拷贝代码如下:

let result = {};
for(let key in originObj){result[key] = originObj[key]
} 

这样就实现了一个浅拷贝,此时 result 和 originObj 没有指向同一个对象,但是 result.c 和 originObj.c 是指向的同一个对象。
同样能达到浅拷贝常见的还有扩展运算符、Object.assign等方法,如下:

let result1 = {...originObj};
let result2 = Object.assign({},originObj)

二:什么是深拷贝

深拷贝创建一个新对象,并递归地复制原始对象的所有层级,包括嵌套的对象和数组。这意味着新对象和原始对象是完全独立的,对新对象的修改不会影响原始对象,反之亦然。

如果对象里面不存在正则表达式、函数等特殊值,可以直接使用 JSON.parse(JSON.stringify(obj)) 方法,直接转成JSON字符串再转换回来,就可以实现深拷贝。
也可以通过一些第三方的库实现,比如lodash的cloneDeep方法。
当然也可以自己写一个深拷贝的方法,这里提供一个比较简单的方法

function deepClone(obj, hash = new WeakMap()) {if (obj === null || typeof obj !== 'object') {return obj;}if (hash.has(obj)) {return hash.get(obj);}const cloneObj = Array.isArray(obj) ? [] : {};hash.set(obj, cloneObj);for (let key in obj) {if (obj.hasOwnProperty(key)) {cloneObj[key] = deepClone(obj[key], hash);}}return cloneObj;
}

三:总结

  • 浅拷贝: 只复制对象的一层,对于引用类型的属性,复制的是引用而不是值。修改拷贝后的对象可能会影响原始对象。

  • 深拷贝: 复制对象的所有层级,包括嵌套对象和数组。新对象和原始对象是完全独立的,修改一个不会影响另一个。

在实际应用中,选择深拷贝还是浅拷贝取决于具体的需求。深拷贝可能涉及到性能开销,特别是在处理大型对象或对象包含循环引用的情况下。因此,在选择拷贝方式时,需要根据项目的需求和性能考虑做出合适的选择。

http://www.shuangfujiaoyu.com/news/25777.html

相关文章:

  • 烟台网站排行榜昆明seo网站管理
  • 长沙做网站哪个最好阳西网站seo
  • 呼市做网站公司友情链接查询友情链接检测
  • walker wordpress安新seo优化排名网站
  • 本地wordpress后台很慢小程序seo
  • 浙江住房和城乡建设厅报名网站软文推广案例大全
  • 企业网站添加图片seo主要是指优化
  • 没有网站可以做cpc吗站长统计app软件下载官网
  • wordpress 获取插件目录百度seo优化技巧
  • 多语言网站seo北京网站优化企业
  • 眉山做网站的公司网页制作流程
  • 做b站类似的网站吗企业推广策划
  • 网页设计页面设计关键词优化是什么工作
  • 电商网站设计是什么百度搜索排名怎么靠前
  • 订阅号做流量 那些电影如何链接网站北京网站seo
  • 虎门做网站公司国外免费推广网站有哪些
  • 怎么自己制作网站免费sem公司
  • 专门做电商的网站有哪些福州seo结算
  • 产品创新设计案例seo技术学院
  • 自助网站建设技术支持网址外链平台
  • 上海做网站的小公司网络营销是什么工作
  • 动态网站开发的毕业设计百度推广seo是什么意思
  • 做视频的网站带模板下载中国足彩网竞彩推荐
  • 谁有做爰网站发软文的网站
  • 做网站优化需要多少钱西安seo包年服务
  • 凡科网可以自己做网站吗百度云超级会员试用1天
  • 小生意是做网站还是公众号百度关键词分析工具
  • 做搜索引擎网站今日国际新闻热点
  • 上海市建设工程质监站网站seo整站优化方案
  • 怎么制作网站弹出广告临沂头条新闻今日头条