唯一不理解:prompt的返回值竟然能作為if的判斷條件?。。??
prompt的返回值是:
?1)點(diǎn)擊確定按鈕,文本框中的內(nèi)容將作為函數(shù)返回值。當(dāng)內(nèi)容為空時(shí),返回值為""
?2)點(diǎn)擊取消按鈕,將返回null
【要求】在輸入框輸入網(wǎng)址,當(dāng)輸入的網(wǎng)址既不為null也不為"",才打開(kāi)網(wǎng)址。
【做法】
本來(lái)想到的判斷條件是:if(url != null && url != "") ?
后來(lái)發(fā)覺(jué):就算直接把url作為if的判斷條件,即寫(xiě)成if(url)也可以,和if(url != null && url != "")是完全等效的??!
【問(wèn)題】if的判斷條件不是應(yīng)該Boolean類型的值嗎?根據(jù)最上面,prompt的返回值顯然不是Boolean類型,那為什么可以作為if的判斷條件
2015-10-06
if()判斷條件里必須產(chǎn)生個(gè)布爾值。js是弱語(yǔ)言,任何值都可以相互轉(zhuǎn)換,那么這里if()其實(shí)等價(jià)于if(Boolean())。
Boolean() 函數(shù)
當(dāng)要轉(zhuǎn)換的值是至少有一個(gè)字符的字符串、非 0 數(shù)字或?qū)ο髸r(shí),Boolean() 函數(shù)將返回 true。
如果該值是空字符串、數(shù)字 0、undefined 或 null,它將返回 false。
這里的if(url),如果url如果為null或者是“”(空字符),都返回fasle。所以是可以這樣寫(xiě)滴~~~
2015-10-14
url!=null成立說(shuō)明這個(gè)表達(dá)式為“真”,而任何非0值都是“真”(即url這個(gè)變量也是“真”),所以u(píng)rl!=0與url的值是一樣的,可以互換。