var myname=prompt("请输入你的姓名:"); if(myname!=null) { alert("你好"+myname); } else { alert("你好 my friend."); }
为何要在第二行
if(myname!=null)中给myname后面加上感叹号?
我试了一下不加感叹号也可以啊.
!=表示不等于。
至于为什么不加也可以运行是因为=为赋值符号,比如当你写
var a; alert(a = 2); alert(a);
时,你会发现返回了两次2,所以代码里如果写成
if(myname=null)
的话实际是给myname赋了空值(null),同时返回空值,所以无论myname是否为空,都执行了
alert("你好 my friend.");
这样写会使代码与预期不符,是错误的。
表示否,非