无法访问JavaScript对象键值对:dayNum访问dayName返回undefined
问题解决:对象属性访问返回undefined
问题原因
你使用dayName.dayNum访问对象属性时,JavaScript会将dayNum视为固定字面量属性名,而非变量dayNum存储的值,导致找不到对应属性,返回undefined。
修改后的JS代码
app.get("/", (req, res) => { let dayName = { "1" : "Monday", "2" : "Tuesday", "3" : "Wednesday", "4" : "Thursday", "5" : "Friday", "6" : "Saturday", "0" : "Sunday" } let today = new Date(); let dayNum = today.getDay().toString(); console.log(dayName[dayNum]); res.render("list", { day : dayName[dayNum] }); });
关键说明
当需要用变量的值作为对象属性名时,必须使用方括号[]语法;点符号仅适用于已知的固定属性名。修改后,程序会根据dayNum变量的实际值(如"0"对应Sunday)正确获取星期名称。
原EJS代码(无需修改)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>To Do List</title> </head> <body> <h1>Today is <%= day %></h1> </body> </html>
内容的提问来源于stack exchange,提问作者Nabeel Ahmed
相关产品推荐
相关产品推荐

