–JavaScript高级程序设计
闭包:有权访问另一个函数作用域中的变量的函数。
闭包最常见的创建方式是在一个函数里面创建另一个函数,内部函数可以访问外部函数中的变量。
用处:读取函数内部的变量,并让变量始终保存在内存中;
注意:使用不当可能会导致内存泄露。
-作用域链的作用:
保证对执行环境的有权访问的左右变量和函数的有序访问,作用域链的变量只能向上访问,到window对象终止。
原型链思想:
原型链作为实现继承的主要方法,思想:利用原型让一个引用类型继承另一个引用类型的属性和方法。
原型链概念:
如果让原型对象等于另一个类型的实例,此时的原型对象将包含一个指向另一个原型的指针,相应的另一个原型也包含指向另一个构造函数的指针,加入另一个原型又是另一个类型的实例,上述关系依然成立,如此层层递进,就构成了实例和原型之间的链条,这就是所谓的原型链。
注意:所有函数的默认原型都是 Object 的实例