1.唠叨 javascript语言是一门优秀的脚本语言.其中包含脚本语言的灵活性外还拥有许多高级语言的特性.例如充许构建和实例化一个对象,垃圾回收机制(GC:Garbage Collecation).通常我们使用new创建对象,GC负责回收对象占用内存区域.因此了解GC,可以加深对javascript垃圾回收机制的理解。 2.用局部变量和全局变量解释GC GC在回收内存时,首先会判断该对象是否被其它对象引用.在确定没有其它对象引用便释放该对象内存区域.因此如何确定对象不再被引用是GC的关键所在. 复制代码 代码如下: <script> function aa(){ this.rr = "弹窗"; } function bb(){ this.rr = "弹窗"; } var b1; function cc(){ var a1 = new aa(); b1 = new bb(); return b1; } cc(); alert(b1.rr) </script>
如上代码中,执行完cc()后a1被回收了,此后我们可以通过b1.rr弹出文字窗口.在一些基础书籍中解释为:a1为局部变量,b1是全局变量.局部变量执行完后会被GC回收.但不全是这样,如下代码: 复制代码 代码如下: <script> function aa(){ this.rr = "弹窗"; } function bb(){ this.rr = "弹窗"; } function cc(){ var a1 = new aa(); var b1 = new bb(); return b1; } var b1 = cc(); alert(b1.rr); </script>