拷贝 复制
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)
})
}
打印的是10个10
//js的函数作用域 一个函数就是一个肚子作用域
//能不能再每一次循环的时候 创建一个独立的作用域
for(var i = 0;i<10;i++) {
(function(i) { //自调用函数
setTimeout(() => {
console.log(i)
})
}) (i) //调用函数
}
207

被折叠的 条评论
为什么被折叠?



