前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >JavaScript高级(7)

JavaScript高级(7)

作者头像
y191024
发布2022-09-20 20:32:38
发布2022-09-20 20:32:38
1880
举报

递归

什么是递归

如果一个函数在内部可以调用自己本身, 那么这个函数就是递归函数,就是自己调用自己

递归函数的作用和循环的效果一样

由于递归很容易发生"栈溢出"错误(stack overflow),所以必须要加退出条件return

我们利用递归计算阶乘 1 * 2 * 3 * 4 * ... * n, 这是比较经典的例子.

累加也是同理

斐波那契数列

利用递归求: 根据id返回对应的数据对象

现在我们有图中这些数据,现在我们想要根据id来获取相应的对象

我们不妨修改一下这个函数

递归就告一段落了

本文由“壹伴编辑器”提供技术支持

浅拷贝和深拷贝

  1. 浅拷贝只是拷贝一层,更深层次对象级别的只拷贝引用
  2. 深拷贝拷贝多层,每一级别的数据都会拷贝
  3. Object.assign(target, ...source) es6新增方法可以实现浅拷贝,target指的是拷贝给谁,source就是被拷贝的对象

浅拷贝就是拷贝栈里面的数值(地址),深拷贝是开辟一个新的堆空间,和一个新的栈地址

我们之前说过浅拷贝的问题,拷贝的目标对象和被拷贝的对象指向同一个地址,所以导致原来被拷贝的对象的属性值也跟着变化

我们试试新方法:

自己封装一个深拷贝方法:

注意方框内的写法

明天学正则,今天的先发了

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 睡不着所以学编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档