js高级程序设计第3版(7章:函数表达式)
1.递归函数
使用arguments.callee代替函数名
2.闭包
指的是有权访问另一个函数作用域中变量的函数。
函数执行时,存在本地活动对象和全局变量对象。
闭包:所保存的是整个变量对象。保存函数的活动对象。
解决闭包内存泄漏的问题:保存在内部函数中的变量,调用完后,清除内部函数为null
3.模仿块级作用域
使用立即执行函数
4.私有变量
任何在函数中定义的变量,其包括函数的参数,局部变量和函数内部定义的其他函数。
特权方法:有权访问私有变量和私有函数的共有方法。私有变量等存在在于私有作用域中的
- 静态私有变量:在私有作用域中,创建私有变量和私有函数,构造函数中的原型中写公有的方法。
- 模块模式:为单例创建私有变量和特权方法
实现方法:返回一个匿名函数,其中定义私有属性和方法,函数内部共有方法有权访问私有变量和函数。
- 增强的模块模式:返回对象之前,对其进行增强,定义一些特定的方法。

浙公网安备 33010602011771号