构造函数:
可以通过以下两种方式构造函数
function Animal(){}
var a1 = new Animal{}
通过new执行的函数我们成为构造函数,也可以称之为类
通过new生成的对象,称为类的实例,也可以称为实例对象,其中构造函数中的this指向对应的实例
原型链:
概念:每个构造函数都会有一个显示原型 prototype
每个实例对象,都有一个隐式原型__proto__
对象的隐式原型__proto__等于其构造函数的显示原型prototype
当我们查找对象的属性或方法时,会现在自身上查找,若找不到则会沿着原型的原型也就是 (__proto__,__proto__)向上查找 , 而我们把原型形成的这种链条关系称为原型链
闭包:
特点:函数嵌套函数,函数作为返回值被返回,作为参数被传入
闭包中的自由变量,是在函数定义的时候确认的,而不是函数在执行的时候确认的
作用:创建局部作用域
在函数外部可以返回函数内部的局部变量
封装组件与插件
缺点:闭包中的自由变量,不会被销毁而会常驻在内存,使用不当容易造成内存的占用