[問題] JavaScript的if..

看板Web_Design作者 (雪姬)時間12年前 (2013/08/21 15:01), 編輯推噓4(404)
留言8則, 5人參與, 最新討論串1/1
我在看書的時候看到下面的程式範例 function touchRock() { var userName = prompt ("What is your name?", "Enter your name here."); if (userName) { alert("It is good to meet you," + userName +"."); document.getElementById("rockImg").src = "rock_happy.png"; } } 想請教,在if的部份是表示已經假定有獲得userName的訊息了嗎? 對if這部份不太了解,它是不是可以解釋成" if get "? 請多指教 謝謝大家喔 -- ※ 編輯: SheueJi 來自: 36.224.219.229 (08/21 15:02)

08/21 15:08, , 1F
是, 因為執行完 prompt 才會繼續下一行
08/21 15:08, 1F

08/21 15:15, , 2F
MDN window.prompt: http://ppt.cc/4Oxm
08/21 15:15, 2F

08/21 16:10, , 3F
if裡面變數為"",null,undefined皆為false其餘為true
08/21 16:10, 3F

08/22 09:01, , 4F
prompt是同步的 在使用者回應前都不會執行其他程式碼
08/22 09:01, 4F

08/22 09:01, , 5F
所以if userName時一定已經取得prompt的結果了
08/22 09:01, 5F

08/22 09:02, , 6F
如果使用者按取消或空白 那userName就會是undefined等
08/22 09:02, 6F

08/22 09:02, , 7F
在if被判定為false的值
08/22 09:02, 7F

08/23 13:03, , 8F
我都念成如果有這個值
08/23 13:03, 8F
文章代碼(AID): #1I56NEt9 (Web_Design)
文章代碼(AID): #1I56NEt9 (Web_Design)