js高级程序设计第3版(7章:函数表达式)

1.递归函数

使用arguments.callee代替函数名

2.闭包

指的是有权访问另一个函数作用域中变量的函数。

函数执行时,存在本地活动对象和全局变量对象。

闭包:所保存的是整个变量对象。保存函数的活动对象。

解决闭包内存泄漏的问题:保存在内部函数中的变量,调用完后,清除内部函数为null

3.模仿块级作用域

使用立即执行函数

4.私有变量

任何在函数中定义的变量,其包括函数的参数,局部变量和函数内部定义的其他函数。

特权方法:有权访问私有变量和私有函数的共有方法。私有变量等存在在于私有作用域中的 

  • 静态私有变量:在私有作用域中,创建私有变量和私有函数,构造函数中的原型中写公有的方法。
  • 模块模式:为单例创建私有变量和特权方法

   实现方法:返回一个匿名函数,其中定义私有属性和方法,函数内部共有方法有权访问私有变量和函数。

  • 增强的模块模式:返回对象之前,对其进行增强,定义一些特定的方法。

    

 

posted @ 2021-02-08 11:00  yaqian96  阅读(68)  评论(0)    收藏  举报