轻杯过海
2019-08-30 16:28
代码如下:
<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,不知是什么原因,想了半天没想明白,求指教,谢谢!
这里不应该是x=y,而是x==y。x=y意思是将y的值赋予变量x,x==y意思是x等于y。
楼上正解,一个“=”是赋值操作,只要不为0就认为是真,你前面两个比较没有体现出这个错误。
刚才调整了下顺序,把x<y提到 x=y前面去了之后就成功了
猜想了下,会不会x=y在前面的话,程序认为是把y的值赋值给了x,所以x也等于了3,导致x、y的值就相同了
不知道是不是这个原因啊?
JavaScript进阶篇
468284 学习 · 21892 问题
相似问题
回答 1
回答 3