我对javascript很陌生,我正在做一个石头,布,剪刀游戏,但是下面的代码行给了我未定义的值,有人能用简单的话解释一下为什么控制台日志给我未定义的输出吗?
let userval = prompt("enter R,P,S");
const object={
R : "ROCK",
P : "PAPER",
S : "SCISSOR"
};
console.log(object.userval)
我希望控制台记录“摇滚”当我进入R在提示等等。
我对javascript很陌生,我正在做一个石头,布,剪刀游戏,但是下面的代码行给了我未定义的值,有人能用简单的话解释一下为什么控制台日志给我未定义的输出吗?
let userval = prompt("enter R,P,S");
const object={
R : "ROCK",
P : "PAPER",
S : "SCISSOR"
};
console.log(object.userval)
我希望控制台记录“摇滚”当我进入R在提示等等。
3条答案
按热度按时间xjreopfe1#
看起来像是试图引用
userval
作为您定义的object
上的属性,而实际上您希望使用该值来查找属性。可以试试
console.log(object[userval])
吗?在开发工具中设置调试断点也有助于检查对象的构造方式,并在控制台中试验不同的调用。
r7xajy2e2#
object.userval
等价于object['userval']
。您需要使用object[userval]
才能访问userval
变量。mutmk8jj3#
您正在尝试访问
object.userval
,它不是对象的属性。您可以使用括号表示法动态访问对象的属性(使用变量)。以下是如何修改代码以实现所需的输出: