麻烦大家帮我看一下这个js语句,加减乘除运算,只有前面的if语句能用

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



无标题文档 function abc(x,y,z,n) { var x,y,n;//定义变量 //输入第一个数字 x=window.prompt("请输入第一个数字:"); //输入第二个数字 y=window.prompt("请输入第二个数字:"); //输入一个运算符 z=window.prompt("请输入一个运算符:",z); if(z='*') { n=x*y; } else if(z='/') { n=x/y; } else if(z='+') { n=x+y; } else { n=x-y; } alert(n); document.write(n); }





加减乘除运算,只有前面的if语句能用 后面的else if语句 都运行不了
麻烦了

图片说明=是赋值运算符呀,判断是否相等要用==

==才是比较,由于=赋值给一个变量,那么就是真的,所以前面的if一直是可用的(赋值为空才会为假)

js功能很强,很多类型可以自行转换。
=从某些角度来说也可以当判断符,如果左右两边变量是两个不能互相转换的类型,那么结果为false,例如左边是函数,右边是整数,那么结果就是false。
==用来判断两个变量的字面值,如一个字符串为"111",还有一个整数为111,两者比较也会返回true,因为它俩"看起来一样"。
===才是判断两个变量是否相同的判断,称为"全等",必须两个变量字面量一样,且值相同,才可以返回true,比如"111"===111返回的是false。
js博大精深,需要慢慢领悟

刚实验一下,在=运算时,右边类型为nll,或者为undefined时,或者为0,或者为NaN,或者为""时,表达式为空