第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

唯一不理解:prompt的返回值竟然能作為if的判斷條件?。。??

prompt的返回值是:

?1)點擊確定按鈕,文本框中的內(nèi)容將作為函數(shù)返回值。當(dāng)內(nèi)容為空時,返回值為""

?2)點擊取消按鈕,將返回null

【要求】在輸入框輸入網(wǎng)址,當(dāng)輸入的網(wǎng)址既不為null也不為"",才打開網(wǎng)址。

【做法】

本來想到的判斷條件是:if(url != null && url != "") ?

后來發(fā)覺:就算直接把url作為if的判斷條件,即寫成if(url)也可以,和if(url != null && url != "")是完全等效的??!

【問題】if的判斷條件不是應(yīng)該Boolean類型的值嗎?根據(jù)最上面,prompt的返回值顯然不是Boolean類型,那為什么可以作為if的判斷條件

正在回答

2 回答

if()判斷條件里必須產(chǎn)生個布爾值。js是弱語言,任何值都可以相互轉(zhuǎn)換,那么這里if()其實等價于if(Boolean())。

Boolean() 函數(shù)

當(dāng)要轉(zhuǎn)換的值是至少有一個字符的字符串、非 0 數(shù)字或?qū)ο髸r,Boolean() 函數(shù)將返回 true。

如果該值是空字符串、數(shù)字 0、undefined 或 null,它將返回 false。

這里的if(url),如果url如果為null或者是“”(空字符),都返回fasle。所以是可以這樣寫滴~~~


0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

sprnate 提問者

非常清晰,感謝!
2015-10-06 回復(fù) 有任何疑惑可以回復(fù)我~
#2

sprnate 提問者

那么這樣說來還有一個問題,就是哪種寫法比較提倡或者說效率比較高?if(url != null && url != "")還是if(url)?我覺得應(yīng)該是前者。
2015-10-06 回復(fù) 有任何疑惑可以回復(fù)我~
#3

Perona 回復(fù) sprnate 提問者

區(qū)別不大,效率高的是第一種if(url != null && url != ""),不過第二種比較簡潔。
2015-10-06 回復(fù) 有任何疑惑可以回復(fù)我~

url!=null成立說明這個表達(dá)式為“真”,而任何非0值都是“真”(即url這個變量也是“真”),所以url!=0與url的值是一樣的,可以互換。

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消
JavaScript入門篇
  • 參與學(xué)習(xí)       741170    人
  • 解答問題       9865    個

JavaScript做為一名Web工程師的必備技術(shù),本教程讓您快速入門

進(jìn)入課程

唯一不理解:prompt的返回值竟然能作為if的判斷條件!?。??

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號