Fork me on GitHub

Javascript 的函数式对象(一)利用闭包模拟类的私有变量和方法

  在Javascript的框架开发中,面向对象式编程和面向函数式编程各有长处,因况而异。 
除了在单例工厂中设置一些类型常量外,闭包通常被用来模拟类的私有变量和方法。 
结合js的prototype机制,一个具有面向对象特点的js函数能够被以减少内存占用的形式实例化出来。 

 每创建一个新的Tree实例,内存会为其私有变量,私有方法和所有能够访问私有变量和私有方法的方法开辟物理空间,而prototype中的方法始却始终只有一个。因此我们可以将那些不需要保存自身状态信息的方法放到js函数式对象的prototype中去,以节省浏览器的内存开销。 

posted on 2011-10-28 22:01  【艾伦】  阅读(625)  评论(0编辑  收藏  举报