gpt4 book ai didi

javascript - 当对象设置为 null 时函数调用失败

转载 作者:行者123 更新时间:2023-11-30 07:11:31 25 4
gpt4 key购买 nike

谁能解释为什么这些 slides 中的 Javascript失败?

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?" );
}

最佳答案

递归函数调用在 yell() 中使用 ninja 引用,当您将其设置为 null 时,它不能再调用 ninja.yell,因为 ninja 为 null。

改变:

return n > 0 ? ninja.yell(n-1) + "a" : "hiy";

收件人:

return n > 0 ? this.yell(n-1) + "a" : "hiy";

而且有效。

关于javascript - 当对象设置为 null 时函数调用失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3580757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com