2016-01-04 89 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

相關問題