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

最先进的深圳网站建设贵阳网站建设seo公众号开发

最先进的深圳网站建设,贵阳网站建设seo公众号开发,为成长持续赋能,沈阳今天重大新闻深、浅拷贝之间的关系 什么是赋值 赋值是将某一数值或对象赋给某个变量的过程#xff0c;分为下面 2 部分 基本数据类型#xff1a;赋值#xff0c;赋值之后两个变量互不影响引用数据类型#xff1a;赋址#xff0c;两个变量具有相同的引用#xff0c;指向同一个对象分为下面 2 部分 基本数据类型赋值赋值之后两个变量互不影响引用数据类型赋址两个变量具有相同的引用指向同一个对象相互之间有影响 //所以赋值操作是直接把一个变量交给另一个变量 const a 1; const b a;//这里赋值是将栈内存的值直接给新变量 const x {name: 111}; const y x;//这里赋值赋的是引用对象的地址栈的值存的是堆内存的地址什么是浅拷贝 可以简单理解为新创建一个变量用来拷贝目标变量并且只解决第一层问题如果浅拷贝是基本类型数据直接赋值如果是引用类型数据则对其第一层进行赋值操作即拷贝第一层的基本类型值以及第一层的引用类型地址。 如何实现 Object.assign() Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。 let a {name: zw,book: {title: You Dont Know JS,price: 45} } let b Object.assign({}, a); console.log(b); // { // name: zw, // book: {title: You Dont Know JS, price: 45} // } a.name change;//这里只改变了a变量栈内存中的值不会影响b变量 a.book.price 55;//这里则直接改了两个变量中共同指向的book的堆内存地址中的值 console.log(a); // { // name: change, // book: {title: You Dont Know JS, price: 55} // } console.log(b); // { // name: zw, // book: {title: You Dont Know JS, price: 55} // } 扩展运算符Spread let b {...a};//对a进行扩展并放入新的对象中效果域asign一样Array.prototype.slice() slice() 方法返回一个新的数组对象这一对象是一个由 begin和 end不包括end决定的原数组的浅拷贝。原始数组不会被改变。 // 木易杨 let a [0, 1, [2, 3]]; let b a.slice(1); console.log(b); // [1, [2, 3]]a[1] 99; a[2][0] 4;//要牢记浅拷贝只赋值第一层如果第一层有引用类型数据则它的改变会导致原对象中该值的改变 console.log(a); // [0, 99, [4, 3]]console.log(b); // [1, [4, 3]]什么是深拷贝 深拷贝会拷贝所有的属性并拷贝属性指向的动态分配的内存。当对象和它所引用的对象一起拷贝时即发生深拷贝。深拷贝相比于浅拷贝速度较慢并且花销较大。拷贝前后两个对象互不影响。 实现深拷贝的方法 1.递归实现深拷贝 scriptlet obj {name: zw,number: [10, 20],fn: function () {console.log(123);},old: {one: 1,two: 2}}// 说明一个函数function copy(obj) {var newobj null;//通过typeof判断是否为引用数据类型且不等于null//如果等于null直接返回newobjif (typeof (obj) object obj ! null) {newobj obj instanceof Array ? [] : {}//这里创建一个新的引用数据类型用以合并和存放解析后的数据//newobj obj.isArray(obj)?[]:{};for (const key in obj) {newobj[key] copy(obj[key])//递归实现对每一个引用数据类型解析并赋值给一个新创建的引用数据类型}}else {newobj obj;//当解析到基本数据类型时即可以直接赋值。}return newobj;}let a new copy(obj)a.number[0] 555console.log(obj);console.log(a);/script核心思想引用数据类型是有基本数据类型构成的并且基本数据类型是不存在深浅拷贝这一说的那么我们只需要将引用数据类型的每一层次的基本数据类型赋值并遍历到最深处的基本数据并赋值就可以完成深拷贝。 2.通过JSON的方法 const a JSON.parse(JSON.stringify(数据)) //JSON.stringify(需要拷贝数据)转化为JSON字符串 //JSON.parse(JSON字符串) 将JSON数据格式的字符串转化为对象
http://www.pierceye.com/news/142421/

相关文章:

  • 网站分布郴州建设网站公司
  • 最有效的网站推广费用seo推广是什么意怿
  • 网站推广的基本方法是网站建设公司的介绍
  • 网站开发企业部门网站按抓取手机软件贵阳
  • 龙岗做网站公司icxun临夏州建设网站
  • 网站跳转到另外一个网站怎么做品牌推广部的职责
  • 视频网站开发用什么服务器wordpress数据库邮箱
  • 网站建设公司前十名电子商务网站建设论文开题报告
  • 泉州公司建设网站秦皇岛市网站建设
  • 网站建设说课获奖视频小程序制作用华网天下优惠
  • 杭州网站建设公司代理加盟广东建设企业网站怎么样
  • 网站建制作公司企业营销
  • 建设网站基本流程佛山制作网页公司
  • 眼睛网站开发wordpress影院插件
  • 成都专业做网站的公司有哪些建设工程管理专业
  • 北京seo关键词优化外包网站seo诊断分析报告
  • 怎么做淘宝客网站注册域名后如何建立网站
  • 网络营销资讯网站茶山镇仿做网站
  • 东莞产品网站建设网络设计方案包括哪些
  • 精品课程网站建设论文一个网站如何做推广
  • elementui 做的网站个人网站做推广
  • 外贸 静态网站 怎么做网页制作的目的和意义
  • 做酒店的网站免费进销存软件哪个简单好用
  • 湖州做网站推广的公司phpnow安装wordpress
  • 荆州网站建设销售网站怎么做的
  • 访问失效链接 如何删除 网站维护免费推广做产品的网站
  • 哪个网站做ppt能赚钱揭阳网站建设方案托管
  • 哪些网站可以免费做h5wordpress目录迁移
  • 郑州网站建设哪家有什么可以做兼职的网站吗
  • 没有影视许可怎么用国内空间做网站wordpress首页加广告代码