问答详情
源自:2-4 JavaScript-提问(prompt 消息对话框)

为什么例子中要给if引用的变量加上"!"(感叹号)?

var myname=prompt("请输入你的姓名:");
if(myname!=null)
  {   alert("你好"+myname); }
else
  {  alert("你好 my friend.");  }

为何要在第二行
if(myname!=null)中给myname后面加上感叹号?
我试了一下不加感叹号也可以啊.

提问者:流海侃人 2016-03-27 15:21

个回答

  • howyoung
    2016-03-27 15:39:32
    已采纳

    !=表示不等于。

    至于为什么不加也可以运行是因为=为赋值符号,比如当你写

    var a;
    alert(a = 2);
    alert(a);

    时,你会发现返回了两次2,所以代码里如果写成

    if(myname=null)

    的话实际是给myname赋了空值(null),同时返回空值,所以无论myname是否为空,都执行了

    alert("你好 my friend.");

    这样写会使代码与预期不符,是错误的。

  • xulin_
    2016-03-27 15:25:39

    表示否,非