闭包(closure)
一个作用域访问另外一个函数内部的局部变量,就是闭包现象
函数执行完毕后,作用域的局部变量就会销毁;
但是如果出现闭包现象,上级作用域的变量就会被留下,不被销毁;
作用域链的寻找方式
闭包可以保留多个变量,用谁保留谁, 不用的变量就会被销毁
用于延伸变量的作用范围;
双标签更改,获取内容的时候用innerHTML或innerTEXT;
表单双标签不用, 获取内容用value;
*函数声明方式function
*分为命名函数和匿名函数
匿名函数可使用一个变量接受,也可自调用
拷贝
拷贝不能直接赋值, 因为对象拷贝的是地址,相互之间有影响;
- 浅拷贝: 只是将数据中所有的数据引用下来,依旧指向同一个存放地址,拷贝之后的数据修改之后,也会影响到原数据的中的对象数据
- 深拷贝: 将数据中所有的数据拷贝下来,对拷贝之后的数据进行修改不会影响到原数据
简单数据类型直接拷贝
- 如果obj[key]是复杂数据类型,就无法直接赋值
- 如果obj[key]是数组,遍历数组继续拷贝
遍历数组用forEach
- 如果obj[key]是对象,遍历对象继续拷贝
- 其他就直接拷贝
Object.assign(拷贝者, 被拷贝者)