为了账号安全,请及时绑定邮箱和手机立即绑定

為什麼答案中的 if 不用限定條件?

這題我這樣子寫:

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))?

正在回答

3 回答

confirm("确定打开新窗口吗?")  confirm元素使用时出现一个窗口选择确定和取消,选择‘确定’自动赋予confirm返回值为true,选‘取消’则返回值为false,if()中如果没有限定条件,如confirm=true或者confirm=false,默认的判断条件是if(t),参数t是否为真

1 回复 有任何疑惑可以回复我~
#1

sz_yeefun 提问者

懂了,謝謝你!
2016-08-18 回复 有任何疑惑可以回复我~

因为confirm()返回的是布尔值啊,只有True和False两种,如果点击确定的话返回True,那么“confirm("确定打开新窗口吗?")”就是真值,if括号里为真,自然就通过了。

1 回复 有任何疑惑可以回复我~

你的答案是把confirm()返回的值赋给test1,然后交给if判断。而答案则是省去了这些步骤。

你的答案可以省略为

var test1=confirm("确定打开新窗口吗?");

if(test1){

    //Do something...

}

然后省略为标准答案

if(confirm("确定打开新窗口吗?")){

    //Do something...

}


路过回答一下……

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

為什麼答案中的 if 不用限定條件?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信