对于闭包的理解和prototype的应用原理
闭包的两个特点:
1、作为一个函数变量的一个引用 - 当函数返回时,其处于激活状态。
2、一个闭包就是当一个函数返回时,一个没有释放资源的栈区。
效果是可以实现某个实例的全局引用和修改,但是由于在javascript中没有明确的闭包建立函数和命令,目前所知只能通过建立包含函数的函数体构造闭包,未免显得有点牵强,此处有待进一步研究。
但是对于闭包的使用要有所顾忌,负责任的Ajax程序员从来不会忽略内存泄漏问题,而建立闭包并大量实例化的时候很容易引起内存泄漏的隐患,那么prototype就是一个很好的解决办法。
prototype的意义是将一个函数挂接到一个宿主函数或实例下,他的好处是所挂接的类或函数的实例化可以像访问自己的成员函数一样访问挂接函数,挂接函数也可以用this访问实例中的公用变量和结构,当实例函数返回时,所有占用的内存垃圾处理。