问答详情
源自:2-7 编程练习

为什么必须要加!?

function wopen()
   {var open=confirm("确定新窗口打开?");
   // 新窗口打开时弹出确认框,是否打开
   if (open=true)
       {var url=prompt("通过输入对话框,确定打开的网址,默认为","http://www.imooc.com/");
       // 通过输入对话框,确定打开的网址,默认为 http://www.imooc.com/
       if (url!= null)
       {window.open(url,"_blank",'width=400px,height=500px,menubar=no,toolbar=no');}
       //打开的窗口要求,宽400像素,高500像素,无菜单栏、无工具栏。
       else {alert("再见!");}
       }
       else {alert("再见!");}
    }

前面的if(open=true)后面的if(url!=null)为什么要加感叹号?不加还不行

提问者:Jonnyshao 2016-10-20 16:40

个回答

  • 一只喵__
    2016-10-20 16:52:48
    已采纳

    url!= null  的意思是url的值不为空,如果去掉!意思刚好相反

  • 束缚hyl
    2016-10-20 17:45:22

    加感叹号是表示不等于   和C语言的!=是一个意思

  • dlll934235775
    2016-10-20 17:06:20

    != 运算逻辑符号 !的意思是非 加起来就是不等于 if (url!= null)后在进行下一步判定

  • buffaygeng
    2016-10-20 17:04:22

    if (url != null)

    这个语句中的  !=  符号表示不等号;

    不加 ! ,即 url = null , 表示赋值。

    如果url不等于null,则执行接下来{ }内的语句。

    if (open=true)

    严格来说,这条语句是有问题的。因为你误将比较运算符“==”写成赋值运算符“=”,导致的结果是if判断条件恒true,不管你点击确认还是取消。

    建议你看看编程基础知识,如运算符。

  • qq_Im未知数_04151523
    2016-10-20 16:57:20

    !=是逻辑运算符,不等于的意思。