我们在挖掘JavaScript时遇到了麻烦,请帮助我们。在此先感谢在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.");
但是在这些代码就不能叫嚷嚷
===>
var ninja = {
yell: function(n){
return n > 0 ? ninja.yell(n-1) + "a" : "hiy";
}
};
assert(ninja.yell(4) == "hiyaaaa", "A single object isn't too bad, either.");
var samurai = { yell: ninja.yell };
var ninja = null;
try {
samurai.yell(4);
} catch(e){
assert(false, "Uh, this isn't good! Where'd ninja.yell go?");
}
这与内存分配无关。 –
可能重复的[对象null和行为在JavaScript](http://stackoverflow.com/questions/22216159/an-object-null-and-behaviour-in-javascript) –