sz_yeefun
2016-08-17 21:36
這題我這樣子寫:
function openWindow(){ var test1=confirm("确定打开新窗口吗?"); if(test1==true){ var test2=prompt("请输入一个网址:","http://www.imooc.com/"); window.open(test2,"_blank","width=400,height=500,menubar=no,toolbar=no"); } }
而答案這樣寫:
function openWindon(){ if(confirm("确定打开新窗口吗?")){ var url = prompt("请输入一个网址","http://www.imooc.com/"); window.open( url,"_blank","toolbar=no, menubar=no, width=400, height=500"); } }
為什麼答案可以在 if 直接寫"(confirm("确定打开新窗口吗?"))",而不用像我一樣限定條件((test1==true))?
confirm("确定打开新窗口吗?") confirm元素使用时出现一个窗口选择确定和取消,选择‘确定’自动赋予confirm返回值为true,选‘取消’则返回值为false,if()中如果没有限定条件,如confirm=true或者confirm=false,默认的判断条件是if(t),参数t是否为真
因为confirm()返回的是布尔值啊,只有True和False两种,如果点击确定的话返回True,那么“confirm("确定打开新窗口吗?")”就是真值,if括号里为真,自然就通过了。
你的答案是把confirm()返回的值赋给test1,然后交给if判断。而答案则是省去了这些步骤。
你的答案可以省略为
var test1=confirm("确定打开新窗口吗?");
if(test1){
//Do something...
}
然后省略为标准答案
if(confirm("确定打开新窗口吗?")){
//Do something...
}
路过回答一下……
JavaScript入门篇
739817 学习 · 9566 问题
相似问题