我正在看John Resig网站上的这段代码.我不明白的是当忍者对象被设置为空对象时,yell方法仍然可供武士使用.
是因为因为忍者周围还有一个参考,所以它不是垃圾收集的吗?
var ninja = {
yell: function(n){
return n > 0 ? yell(n-1) + "a" : "hiy";
}
};
var samurai = { yell: ninja.yell };
ninja = {};
console.log(samurai.yell(2)); //hiy
Run Code Online (Sandbox Code Playgroud)
http://ejohn.org/apps/learn/#14 (原始来源,我修改了一点以删除命名函数表达式).
javascript ×1