js闭包与拷贝

闭包(closure)

一个作用域访问另外一个函数内部的局部变量,就是闭包现象

函数执行完毕后,作用域的局部变量就会销毁;
但是如果出现闭包现象,上级作用域的变量就会被留下,不被销毁;
作用域链的寻找方式

闭包可以保留多个变量,用谁保留谁, 不用的变量就会被销毁
用于延伸变量的作用范围;
双标签更改,获取内容的时候用innerHTML或innerTEXT;
表单双标签不用, 获取内容用value;

*函数声明方式function
*分为命名函数和匿名函数
  匿名函数可使用一个变量接受,也可自调用

拷贝

拷贝不能直接赋值, 因为对象拷贝的是地址,相互之间有影响;

  • 浅拷贝: 只是将数据中所有的数据引用下来,依旧指向同一个存放地址,拷贝之后的数据修改之后,也会影响到原数据的中的对象数据
  • 深拷贝: 将数据中所有的数据拷贝下来,对拷贝之后的数据进行修改不会影响到原数据
简单数据类型直接拷贝
-	如果obj[key]是复杂数据类型,就无法直接赋值
-	如果obj[key]是数组,遍历数组继续拷贝

遍历数组用forEach
-	如果obj[key]是对象,遍历对象继续拷贝
-	其他就直接拷贝

Object.assign(拷贝者, 被拷贝者)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值