This question already has answers here:
A for loop without any {}
                            
                                (6个答案)
                            
                    
                2年前关闭。
        

    

例如,当我编写这种代码时;

var power = function(base, exponent) {
            var result = 1;
            for(var count = 0; count<exponent; count++)
            result *= base;
            return result;

            };
        console.log(power(2, 10));


我得到1024,但是当我编写这种代码时;

var power = function(base, exponent) {
            var result = 1;
            for(var count = 0; count<exponent; count++) {
            result *= base;
            return result;
            }
            };
        console.log(power(2, 10));


我得到2,我很困惑,在这种情况下花括号的逻辑是什么?

最佳答案

for(var count = 0; count<exponent; count++)
result *= base;


相当于

for(var count = 0; count<exponent; count++) {
    result *= base;
}


第一个块完全运行,因为默认情况下,for循环仅包含其后的行,因此,直到循环完全执行后,“ return”才会被命中。

在第二个块中,您的循环仅执行一次,因为该函数在单击“返回”后立即退出。

关于javascript - 当我不在javascript函数中使用花括号时,这有关系吗? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44163754/

10-14 14:40