拷贝和闭包

拷贝 复制
var abc =123
var abc2 = abc
浅拷贝:指的是对象之间的拷贝
var obj = { a : ’ 1 ’ , b : ’ 2 ’ }
var obj2 = obj
这不是拷贝 拷贝的只是对象的地址
通过循环obj获取其中一个的每一个属性 复制给obj2这才叫拷贝 浅拷贝

深拷贝:
前提条件:被拷贝的对象,一个多层嵌套的对象
var obj = {
a:1
b:2
c:{
(property)e :number
e:4
}
}
如果还是通过简单的for-in循环 把obj中所有的属性 遍历 赋值给一个新的对象 此刻
c属性 赋值的是什么?
通过递归的办法 把c也进行for in 然后赋值到新的对象中

闭包:
一个局部作用域访问另一个局部作用域中的成员
在for循坏中,用定时器打印,每一个i要求i的值不同

for(let i = 0;i <10;i++) {
	setTimeout( ( ) => {
	console.log(i)
	})
}
打印的是1010
//js的函数作用域 一个函数就是一个肚子作用域
//能不能再每一次循环的时候 创建一个独立的作用域
for(var i = 0;i<10;i++) {
	(function(i) {    //自调用函数
		setTimeout(() => {
			console.log(i)
		})
	}) (i)  //调用函数
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值