JavaScript函数myGame调试求助:prompt未输入时提示失效
问题分析与解决
你的代码无法触发“请提供你喜欢的游戏”提示,核心原因是对prompt()的返回值理解有误:
- 用户点击取消时,
prompt()返回null - 用户点击确定但未输入任何内容(或只输入空格)时,返回空字符串
"" - 只有在非浏览器环境下调用
prompt(),才可能返回undefined
所以你写的if(game === undefined)条件几乎不会触发,无法覆盖“未输入有效游戏名称”的场景。
修正后的代码如下:
let game = prompt('What is your fav game'); function myGame(game){ // 判断取消、空输入、纯空格输入的情况 if(game == null || game.trim() === ""){ console.log('请提供你喜欢的游戏'); }else{ console.log(`My fav game is ${game}`) } } myGame(game);
补充说明
game == null会同时匹配null和undefined,覆盖用户取消的场景game.trim() === ""过滤掉用户只输入空格的无效内容,确保只有有效输入才会执行正常输出逻辑
内容的提问来源于stack exchange,提问作者user20886977
相关产品推荐
相关产品推荐

