通过在 IF 语句和 FOR 循环两边加上括号,函数变得有问题

Function become buggy by putting brackets around IF statment and FOR loop

本文关键字:函数 有问题 IF 语句 循环 FOR      更新时间:2023-09-26

以下代码工作正常。但是如果我在 IF 和 FOR 周围加上括号。然后它不起作用,

function power(base, exponent) {
  if (exponent == undefined)
    exponent = 2;
  result = 1;
  for (var count = 0; count < exponent; count++)
    result *= base;
  return result;
}
console.log(power(4, 3)); //64
console.log(power(4)) //16

我能够运行带有括号的代码。也许您不小心在括号内有result = 1return result

function power(base, exponent) {
  if (exponent == undefined) {
    exponent = 2;
  }
  result = 1;
  for (var count = 0; count < exponent; count++) {
    result *= base;
  }
  return result;
}
console.log(power(4, 3)); // 64
console.log(power(4)) // 16

不要使用括号是这样编译的

if(i==0)
   res=0;
  res=4;

等于

if(i==0){
   res=0;
}
res=4;
在测试/

循环中只考虑测试/循环后的第一行,这就是为什么测试之间存在差异的原因

添加这样的括号以获得相同的结果:

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