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

为什么控制台中age输出为undefined?附JavaScript代码示例

问题原因及解决方法

你这段代码里age输出undefined的核心原因是:在对象的方法中直接使用name、age时,JavaScript会去全局作用域查找这些变量,而非当前对象的属性。因为全局作用域里没有定义age(部分环境中name可能是全局变量,但age不存在),所以最终输出undefined。

要访问对象自身的属性,必须用this关键字——在对象方法中,this指向调用该方法的当前对象(也就是这里的object)。

修改后的代码如下:

let object = {
    name : `Rahim`,
    age : 10,
    place : `Delhi`,
    
    details : function(){
             return `The name is ${this.name}. Age is ${this.age}`;
    }
}

console.log(object.details());

执行后控制台会正确输出:The name is Rahim. Age is 10。

另外提一句,原代码里的描述“The fruit name”和对象属性不匹配,属于笔误,也可以顺手修正。

内容的提问来源于stack exchange,提问作者Noor

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 11:48:59