JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
Object类避免了对构造器的定义。通过例2我们知道:使用一个拒不函数包含变量i,这样局部变量i的内存不会被回收。运行的结果是弹出10,弹出11,弹出12。闭包的原理:在例3中,共有三个作用域:全局作用域,fn1的作用域,fn2的作用域。在全局作用域里有test=fn1(),其实这句话就相当于test=fn2。所以全局的test钩住了fn2的i,fn2的i钩住了fn1的i,所以fn1运行完毕后,不会被回收。this.setAge和this.getAge两个方法使用到了局部变量age,所以age不会被回收。call和apply的功能:使用指定的对象调用当前函数。call和apply的功能完全相同,只是在语法上略有不同。
用户评论