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)为什么要加感叹号?不加还不行
url!= null 的意思是url的值不为空,如果去掉!意思刚好相反
加感叹号是表示不等于 和C语言的!=是一个意思
!= 运算逻辑符号 !的意思是非 加起来就是不等于 if (url!= null)后在进行下一步判定
if (url != null)
这个语句中的 != 符号表示不等号;
不加 ! ,即 url = null , 表示赋值。
如果url不等于null,则执行接下来{ }内的语句。
if (open=true)
严格来说,这条语句是有问题的。因为你误将比较运算符“==”写成赋值运算符“=”,导致的结果是if判断条件恒true,不管你点击确认还是取消。
建议你看看编程基础知识,如运算符。
!=是逻辑运算符,不等于的意思。