我想知道为什么当我添加一个值为空string(“)的变量时,该循环有效,但是当我删除它时,该循环似乎并没有在该函数中循环。 ..
这是第一个循环:
function laugh(num) {
var laugh = "ha";
for (var i=0; i<=num; i++){
laugh;
}
return laugh + "!";
}
console.log(laugh(3));
这是第二个:
function laugh(num) {
var string = "";
var laugh = "ha";
for (var i=1; i<=num; i++){
string += laugh;
}
return string + "!";
}
console.log(laugh(3));
第一个返回“ ha!”而第二个则返回正确数量的ha ...即“ hahaha!”
为什么添加一个空字符串使其起作用? 初学者...我真的不希望继续下一课,直到我完全了解正在发生的事情。非常感谢!
答案 0 :(得分:2)
那是因为您在第一个循环中所做的只是一条语句:
laugh;
//Equivalent to
"ha";
在第二个循环中,您将一个新字符串连接到string
:
string += laugh;
您需要执行此连接,否则它将仅返回ha!
:
function laugh(num) {
var laugh = "ha";
for (var i = 0; i <= num; i++) {
laugh += "ha";
}
return laugh + "!";
}
console.log(laugh(3));