为什么这个JavaScript代码不返回“是”或“否”?

时间:2016-01-04 20:52:57

标签: javascript for-loop

的JavaScript

如果两个多项式函数相等,我想要打印“是”,如果不是,则打印“否”。

for (var i=0; i>24; i++) {
  if (4 * Math.pow(i,3) - 12 * Math.pow(i,2) + 8(i) + (4) === 
      8 * Math.pow(i,3) - 24 * Math.pow(i,2) + 16(i) + (5)) {
    console.log("Yes");
  } else {
    console.log("No");
  }    
}    

3 个答案:

答案 0 :(得分:3)

我看到两个问题:

  1. 应该是i<24而不是i>24
  2. 如果您想要乘以8 with i,请执行8*i而不是8(i),否则它会将8视为一个函数并抛出Uncaught TypeError: 8 is not a function

答案 1 :(得分:1)

由于这是一个升序循环,因此您希望使用小于运算符<

您还使用了不正确的运算符与8(i)进行乘法运算。如果你想括在括号中,它应该看起来像(8 * i)

您的代码应如下所示

for(var i = 0; i < 24; i++) {
    if (4 * Math.pow(i,3) - 12 * Math.pow(i,2) + (8 * i) + (4) === 8 * Math.pow(i,3) - 24 * Math.pow(i,2) + 16(i) + (5)) {
        console.log("Yes");
    }
    else {
        console.log("No");
    }    
} 

答案 2 :(得分:0)

试试这个:

for(var i=0; i<24; i++) {
    if (4 * Math.pow(i,3) - 12 * Math.pow(i,2) + (8 * i) + (4) === 8 * Math.pow(i,3) - 24 * Math.pow(i,2) + 16(i) + (5)) {
        console.log("Yes");
    }
    else {
        console.log("No");
    }    
}