prompt() 讓使用者輸入姓名。confirm() 詢問「你是男士嗎?」,回傳 true (確定/男) 或 false (取消/女)。alert() 顯示完整問候。retune 拼字錯誤,應為 return。judgeGender() 內再次呼叫 confirm(),會彈出兩次對話框。alert("你好,"+name+function judgeGender()+"!") 試圖將函式物件當字串串接,語法錯誤。prompt() (回傳 null) 的情況。<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>確認對話框示範</title>
</head>
<body>
<script>
// 1. 輸入姓名
var name = prompt("請輸入您的姓名:", "訪客");
// 若使用者按取消或關閉,name 為 null,給預設值
if (name === null || name.trim() === "") name = "訪客";
// 2. 判斷性別 (只呼叫一次 confirm)
var isMale = confirm("您是男士嗎?");
// 3. 根據布林值決定稱呼
var title = isMale ? "先生" : "女士";
// 4. 顯示結果
alert("你好," + name + title + "!");
</script>
</body>
</html>
function greetUser() {
var name = prompt("請輸入您的姓名:", "訪客") || "訪客";
var isMale = confirm("您是男士嗎?");
var title = isMale ? "先生" : "女士";
return "你好," + name + title + "!";
}
// 使用
alert(greetUser());
// 或寫入頁面
document.getElementById("output").textContent = greetUser();
| 函式 | 回傳值 | 說明 |
|---|---|---|
prompt(msg, default) | 字串 / null | 使用者輸入文字;取消/關閉回傳 null |
confirm(msg) | true / false | 確定回傳 true,取消/關閉回傳 false |
alert(msg) | undefined | 僅顯示訊息,無回傳值 |
prompt() 回傳 null,給予預設值,避免 "你好,null先生" 尷尬輸出。confirm() 僅用於簡單是/否決策,複雜表單請用 <form> + 自訂 Modal。SweetAlert2、Bootstrap Modal 等非阻塞、可樣式化的替代方案。confirm() 回傳布林值,直接用三元運算子或 if/else 即可決定後續邏輯。將輸入、判斷、輸出三步驟線性撰寫,比嵌套函式更清晰、不易出錯。