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

做电子商务网站多少钱百杭网络推广公司

做电子商务网站多少钱,百杭网络推广公司,网站县区分站点建设,好的wordpress企业模板下载开发中我们经常需要复制一个对象。如果直接用赋值会有下面问题: 8.1 浅拷贝 首先浅拷贝和深拷贝只针对引用类型 浅拷贝:拷贝的是地址 常见方法: 1.拷贝对象:Object.assgin() / 展开运算符{…obj} 拷贝对象 2.拷贝数组:Array.prototype.con…

开发中我们经常需要复制一个对象。如果直接用赋值会有下面问题:
在这里插入图片描述

8.1 浅拷贝

首先浅拷贝和深拷贝只针对引用类型
浅拷贝:拷贝的是地址
常见方法:
1.拷贝对象:Object.assgin() / 展开运算符{…obj} 拷贝对象
2.拷贝数组:Array.prototype.concat() 或者 […arr]
在这里插入图片描述
但是浅拷贝只适用于单层(简单数据类型,里面不要再套复杂数据类型)

【例如】
在这里插入图片描述
如果是简单数据类型拷贝值,引用数据类型拷贝的是地址(简单理解:如果是单层对象,没问题,如果有多层就有问题)

8.2 深拷贝

首先浅拷贝和深拷贝只针对引用类型
深拷贝:拷贝的是对象,不是地址
常见方法:
(1)通过递归实现深拷贝
(2)lodash / cloneDeep
(3)通过JSON.stringify()实现

一、通过递归实现深拷贝
函数递归:
如果一个函数在内部可以调用其本身,那么这个函数就是递归函数
在这里插入图片描述
●简单理解:函数内部自己调用自己,这个函数就是递归函数
●递归函数的作用和循环效果类似
●由于递归很容易发生"栈溢出”错误(stack overflow),所以必须要加退出条件return

【示例】

// 拷贝函数
function deepCopy(newObj, oldObj) {for (let k in oldObj) {// 处理数组的问题if (oldObj[k] instanceof Array) {newObj[k] = []// 递归调用 把数组里的值一个一个给deepCopy(newObj[k], oldObj[k])}// 处理对象问题else if (oldObj[k] instanceof Object) {newObj[k] = {}// 递归调用  deepCopy(newObj[k], oldObj[k])}else {// k 属性名  oldObj[k] 属性值newObj[k] = oldObj[k]}}
}

深拷贝总结:
1.要用到函数递归
2.当我们在普通拷贝时,直接赋值即可。但是如果遇到数组或者对象,就需要再次调用递归函数
3.记住先Array再Object (因为数组也属于对象)

二、js库lodash里面cloneDeep内部实现了深拷贝
【示例】

<body><!-- 先引用 --><script src="lodash.min.js"></script><script>const obj = {name: 'Kai',age: 18,hobby: ['羽毛球', '足球'],family: {sister: 'pink'}}// 语法:_.cloneDeep(要被克隆的对象)const o = _.cloneDeep(obj)o.family.sister = 'blue'o.age = 3console.log(o)console.log(obj)</script>
</body>

三、利用JSON实现深拷贝
【示例】

<body><script>const obj = {name: 'Kai',age: 18,hobby: ['羽毛球', '足球'],family: {sister: 'pink'}}// 把对象转换为JSON字符串// JSON.stringify(obj)const o = JSON.parse(JSON.stringify(obj))console.log(o)o.family.sister = '1234'console.log(obj)</script>
</body>

在这里插入图片描述

在这里插入图片描述

8.3 throw抛出异常

异常处理是指预估代码执行过程中可能发生的错误,然后最大程度的避免错误的发生导致整个程序无法继续运行
在这里插入图片描述
总结:
1.throw抛出异常信息,程序也会终止执行
2.throw后面跟的是错误提示信息
3.Error对象配合throw使用,能够设置更详细的错误信息

8.4 try/catch捕获错误信息

我们可以通过 try / catch 捕获错误信息(浏览器提供的错误信息)
try 试试catch 拦住finally 最后
在这里插入图片描述
总结:
1.try-catch用于捕获错误信息
2.将可能发生错误的代码写在try代码段中
3.如果try代码段中出现错误后,会执行catch代码段,并截获到错误信息
4. finally不管是否有错误,都会执行

8.5 debugger

使用方法:
在这里插入图片描述

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

相关文章:

  • WordPress代码实现标签页面西安企业seo
  • 有哪些做西点及烘焙的网站php网站上传
  • 网站推广究竟应该怎么做wordpress鼠标特效
  • 如何在电影网站中做淘客西安制作网站公司哪家好
  • 网站制作北京海淀安徽专业做网站的大公司
  • 天猫网站左侧导航是怎么做的ajax数据库网页网站设计
  • 什么网站做宣传好关键词排名优化网站建设公司哪家好
  • 网站建设的风格设置网站怎么推广效果好一点呢
  • 高端网站建设 aspx松原市新闻
  • 淘宝做网站为什么那么便宜小电商平台有哪些
  • 简述网站设计规划的步骤西安嵌入式培训
  • 长春微信做网站网页源代码模板
  • 做信息采集的网站网络游戏电脑版排行榜
  • 广州建网站自助建站系统汕头人才网
  • 蒙特网站建设公司影视公司职位
  • 电子商务网站成本工业互联网平台分类
  • 带会员系统的网站模板网站建设 开票
  • 琼海网站建设公司盐都区城乡建设局网站
  • 网站建设基础教案12380举报网站制度建设
  • 公司有域名 如何做网站用easyui做的网站
  • 重庆网站排名公司厦门网络公司网站
  • 室内设计软件下载网站大全中小型网站建设代理商
  • 招投标中网站建设评分标准什么网站专门做二手物品
  • php网站 关键技术招聘桂林网站推广维护建设
  • 校园网站建设调查问卷怎么给网站建设提建议
  • 制作社交app的网站博物馆文化网站建设
  • 男女做暧暧试看网站49苏州聚尚网络科技有限公司
  • 陕西省建设厅网站查询wordpress页面模板增加
  • 做网站功能模块重庆公共资源交易中心
  • 大余网站少儿编程加盟哪个好