我正在学习java脚本in here并且无法理解这个例子,如果我将ninja.yell(4)更改为任何值,例如ninja.yell(5)或3,则返回false。
var ninja = {
yell: function(n) {
return n > 0 ? ninja.yell(n - 1) + "a" : "hiy";
}
};
console.log(ninja.yell(4) == "hiyaaaa", "A single object isn't too bad, either.");
如果我以这种方式使用功能
var ninja = {
yell: function(n) {
return n > 0 ? ninja.yell(n - 1) + "a" : "hiy";
}
};
console.log(ninja.yell(4));
它打印' hiy'一次和一次'喜欢" hiyaaaa"四次,我真的很困惑,请帮助谢谢。
答案 0 :(得分:1)
该函数返回hiy
,后跟一些等于该数字的a
s。您正在将其与hiyaaaa
进行比较。
如果您更改a
的数量,则比较不会匹配。
答案 1 :(得分:0)
ninja.yell(4) == "hiyaaaa"
是一个比较,它看起来像字符串" hiyaaaa"将根据您发送给方法的数量而改变。
ninja.yell(4) == "hiyaaaa"
字面意思是" ninja.yell(4)是否等于' hiyaaaa'?"
如果你把它改成5,那么回报实际上会有5个,所以它不会等于" hiyaaaa"所以你弄错了