You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法访问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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 20:06:19