一、闭包
1.什么是闭包
闭包就是函数嵌套函数;函数作为返回值被返回,函数作为参数被传入。
2.闭包的作用
- 创建局部作用域
- 在函数外部可以访问函数内部的局部变量
- 封装组件与插件
3.闭包的缺点
闭包中的自由变量不会被自动销毁,会常驻内存,使用不当容易造成内存泄漏
4.闭包的考点
闭包中的自由变量(在改作用域没有定义就使用的变量)在函数定义时候确定的,不是函数执行时候确定的
<script type="text/javascript">
var b = 100;
function fn (){
b++;
console.log(b);
}
function outer(callback){
var b = 500;
callback();
}
outer(fn);
// 01 闭包中的自由变量,是在函数定义时候确定的,不是执行的时候
// 02 闭包中的自由遍历不会销毁
</script>
二、原型与原链接
1.什么是原型与原链接
- 每个结构函数(类)都有个显示原型prototype
- 每个实例(对象)都有一个隐式原型__proto__
- 对象的隐式原型__proto__等于其构造函数(类)的显示原型prototype
- 当查找