1

我无法理解 Javascript 中“for”循环和“if”语句中括号的用法。我在 Javascript 中看到有括号和没有括号的语法。有人告诉我,通常应该使用括号。有人能清楚地解释我们什么时候应该为“for”和“if”循环使用括号吗?

function range(upto) {
  var result = [];
  for (var i = 0; i <= upto; i++)
    result[i] = i;
  return result;
}
console.log(range(15));

结果是

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

这是与括号:

function range(upto) {
  var result = [];
  for (var i = 0; i <= upto; i++) {
    result[i] = i;
  };
    return result;

}
console.log(range(15));
4

3 回答 3

2

for当循环应用于唯一语句时,您可以省略括号。

如果您希望它适用于更多语句,则必须使用它。更准确地说,for循环始终适用于语句,但括号构建了一个语句块

添加括号,当只有一个语句时,不会破坏代码并且通常使其更具可读性。事实上,大多数编码人员不会在for没有括号的情况下进入开始循环的下一行。我个人会更换

for (var i = 0; i <= upto; i++)
    result[i] = i;

for (var i = 0; i <= upto; i++) result[i] = i;

或者

for (var i = 0; i <= upto; i++) {
    result[i] = i;
}
于 2013-07-02T18:38:04.667 回答
1

没有括号,只有下一条语句会受到影响,而括号内的所有内容都会受到影响。

要将括号添加到循环并使其工作完全相同,只需在下一条语句周围添加它们:

function range(upto) {
    var result = [];
    for (var i = 0; i <= upto; i++) {
        result[i] = i;
    }
    return result;
}
于 2013-07-02T18:38:44.080 回答
0

括号允许您将更多语句添加到一个块中。如果我修改位以显示结果

function range(upto) {
  var result = [];
  for (var i = 0; i <= upto; i++) {
    result[i] = i;
    result[i] = result[i]*2
  }
    return result;

}
console.log(range(15));

结果将是

[2,4,6,8,10,12,14,16,18,20,22,24,26,28,30]

然而,没有括号,

function range(upto) {
      var result = [];
      for (var i = 0; i <= upto; i++) 
        result[i] = i;
        result[i] = result[i]*2

        return result;

    }
    console.log(range(15));

结果会是这样

[1,2,3,4,5,6,7,8,9,10,11,12,13,14,30]

*作为菜鸟程序员,我认为它可能会由于未声明的变量而失败

于 2013-07-02T18:58:02.457 回答