x<y時錯誤,不懂原因
代碼如下:
<script type="text/javascript">
//定義函數
function compare(x,y){
??? if(x>y){
??????? document.write(x+"和"+y+"的較大值是:"+x+"<br>");
??? }
??? else if(x=y){
??????? document.write(x+"和"+y+"的值相等"+"<br>");
??? }
??? else {
??????? document.write(x+"和"+y+"的較大值是:"+y+"<br>");
??? }
?? ?
}
//函數體,判斷兩個整數比較的三種情況
compare (5,4);
compare (7,7);
compare (1,3);
運行結果:前兩個正常,但運行第三個1和3比較大小時,會輸出:3=3,不知是什么原因,想了半天沒想明白,求指教,謝謝!
2019-08-31
這里不應該是x=y,而是x==y。x=y意思是將y的值賦予變量x,x==y意思是x等于y。
2019-08-31
樓上正解,一個“=”是賦值操作,只要不為0就認為是真,你前面兩個比較沒有體現出這個錯誤。
2019-08-30
剛才調整了下順序,把x<y提到 x=y前面去了之后就成功了
猜想了下,會不會x=y在前面的話,程序認為是把y的值賦值給了x,所以x也等于了3,導致x、y的值就相同了
不知道是不是這個原因啊?