Brackets in Functions Javascript

前端 未结 3 1905
花落未央
花落未央 2021-01-24 13:10

I am having trouble understanding the usage of brackets in \"for\" loops and \"if\" statements in Javascript. I have seen syntax in Javascript where there is brackets and where

相关标签:
3条回答
  • 2021-01-24 13:44

    Without brackets only the next statement is affected whereas with brackets everything inside the brackets is affected.

    To add brackets to the loop and have it work exactly the same, just add them around the next statement:

    function range(upto) {
        var result = [];
        for (var i = 0; i <= upto; i++) {
            result[i] = i;
        }
        return result;
    }
    
    0 讨论(0)
  • 2021-01-24 13:44

    Bracket allow you to add more statement into one block. if I modify bit to show result

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

    Result will be

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

    however, without bracket,

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

    result will be like this

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

    *being rookie programmer, I think it probably will fail due to undeclared variable

    0 讨论(0)
  • 2021-01-24 13:50

    You can omit the brackets when the for loop applies to a unique statement.

    You must use it if you want it to apply to more statements. To be more precise, the for loop always apply to a statement but the brackets build a block which is a statement.

    Adding the brackets, when there is only one statement, can't break the code and often makes it more readable. In fact most coders won't go to the next line in an opening for loop without brackets. I personally would replace

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

    with

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

    or

    for (var i = 0; i <= upto; i++) {
        result[i] = i;
    }
    
    0 讨论(0)
提交回复
热议问题