【问题标题】:What's difference between printing code in and out of curly braces?在大括号内外打印代码有什么区别?
【发布时间】:2019-06-17 08:25:44
【问题描述】:

从花括号中返回和在 for 循环中返回有什么区别?

我有这段代码在 Udacity 的 for 循环代码测验中生成“阶乘”,并且仅当 'console.log(solution) 不在 for 循环大括号中时,它才被标记为“正确答案”。为什么我可以把它放在 for 循环中?真的不明白为什么会这样。

var solution = 12;
for (var i = 1; i < 12; i++) {
solution = solution * i; 
  console.log(solution); /* Why inside of the loop like this is 
wrong? */
}


var solution = 12;
for (var i = 1; i < 12; i++) {
solution = solution * i; // 12 = 1 * 2 * 3 * .... 12

}
console.log(solution); /* only it works when it's out of the loop 
like this one but why???? */

【问题讨论】:

  • 您使用的是 C++?哪里错了?
  • 不,它是 javascript。在 Udacity 网站上,当它在循环中时,它会将我标记为错误答案。

标签: javascript for-loop curly-braces


【解决方案1】:

不同之处在于,当它在循环体之外时,您在循环内部输出内容,或者solution 的当前状态每次循环重复(在本例中为 11 次) ,你只是输出变量的final状态,或者只是1次。

【讨论】:

  • 你不明白的到底是什么?真的不能再简单了
  • 在不知道 Udacity 系统如何评分的情况下,我能给出的最简单的答案是,第一位代码输出 11 个 不同 答案,而第二位代码仅给一个。运行两个版本的代码,对比一下输出,真的很明显。
  • 已解决问题。因此,当它在里面时,它会打印每个重复的步骤,而在外面时,控制台只显示所有总数。感谢您的帮助!
猜你喜欢
  • 2021-05-23
  • 1970-01-01
  • 2014-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-01
  • 1970-01-01
相关资源
最近更新 更多