2016-01-04 49 views
0

JavaScript此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"); 
 
    }  
 
}

+2

我想你的意思是'I'24'没有'我> 24'。 –

回答

3

两个问题:

  1. 应该i<24而不是i>24
  2. 如果你想乘以8 with i然后做8*i而不是8(i),否则它会把8作为一个函数,并会抛出Uncaught TypeError: 8 is not a function
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"); 
    }  
} 
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"); 
    }  
}  
+1

不错!但请将'8(i)'改为'(8 * i)'。 –

+0

@RichardHamilton谢谢!我没有注意到这一点。 – michal

相关问题