变量的目的

Nim*_*iri -2 javascript

var ninja = { 
    yell: function yell(n){ 
       return n > 0 ? yell(n-1) + "a" : "hiy"; 
    } 
}; 
assert( ninja.yell(4) == "hiyaaaa", "Works as we would expect it to!" ); 

var samurai = { yell: ninja.yell }; 

var ninja = {};

assert( samurai.yell(4) == "hiyaaaa", "The method correctly calls itself." );
Run Code Online (Sandbox Code Playgroud)

此代码块取自John Resig的JS教程.我想知道的是,为什么他包括倒数第二行?那里忍者的目的是什么?

Pat*_*shu 10

本教程显示删除对象的引用不会删除对象本身.

ninja包含函数的函数yell被显示为删除了该函数的引用,而引用仍然存在于不同的变量中samurai.samurai即使ninja不再有函数调用函数,也会显示对象持久存在引用它们的变量之后不再这样做.