JS編程練習問題為什么==ture時候程序不運行,改成!=null就可以了呢?
function openWindow(){
??????? var btnopen=prompt("是否打開該網站?","www.xianlaiwan.cn");
??????? if(btnopen==ture){
??????????? window.open('http://www.xianlaiwan.cn','_blank','width=400px;height=500px,menubar=no,toolbar=no');
??????? }
??????? else{
??????????? alert("再見!")
??????? }
當我的代碼是這樣的時候,只顯示消息對話框,點擊確定,無法彈出新網頁。
function openWindow(){
??????? var btnopen=prompt("是否打開該網站?","www.xianlaiwan.cn");
??????? if(btnopen!=null){
??????????? window.open('http://www.xianlaiwan.cn','_blank','width=400px;height=500px,menubar=no,toolbar=no');
??????? }
??????? else{
??????????? alert("再見!")
??????? }
當代碼中的btnopen==ture改成btnopen!=null時候,對話框出現時,點擊確定就會彈出新網頁,這是為什么?
2016-03-30
true 不等同于null ?null是無返回 ? 任何有返回都是!null ?但不一定是true
2016-03-30
在這里你得明白 prompt()返回的類型是什么,在JavaScript入門篇 2-4里已經說得很明白,1. 點擊確定按鈕,文本框中的內容將作為函數返回值 ?2. 點擊取消按鈕,將返回null,這里并沒說有布爾類型,而true是布爾類型 ,所以if(btnopen==ture){} 這種寫法不管你點擊確定還是取消,都只會彈出alert("再見!")警示框,而不會彈出新窗口。
2016-03-30
prompt("是否打開該網站?","??//點擊確定返回的內容為prompt提問消息對話框的文本框中的內容"www.xianlaiwan.cn")?輸入的是字符串或數值,所以返回值不能是布爾值的true
2016-03-30
點擊“取消”返回的內容是null
2016-03-30
true