【问题标题】:What is the difference between these two loops? Why is one working and the other is not?这两个循环有什么区别?为什么一个工作而另一个不工作?
【发布时间】:2019-04-04 03:56:32
【问题描述】:

我想知道为什么当我添加一个值为空字符串(“)的变量时,循环可以工作,但是当我删除它时,循环...似乎没有在这个函数中循环。 ..

这是第一个循环:

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 ...这是“哈哈哈!”

为什么添加一个空字符串会起作用? 顺便说一句,初学者......在我完全理解发生了什么之前,我真的不想继续下一课。非常感谢!

【问题讨论】:

    标签: javascript string loops for-loop


    【解决方案1】:

    那是因为你在第一个循环中所做的只是一个语句:

    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));

    【讨论】:

      猜你喜欢
      • 2015-09-03
      • 2012-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多