JavaScript 对象引用给出未定义的值

问题描述 投票:0回答:3

我是 javascript 的新手,我正在制作剪刀石头布游戏,但是下面的代码行给了我未定义的值有人能用简单的词解释我为什么控制台日志给我未定义的输出。

let userval = prompt("enter R,P,S");
const object={
  R : "ROCK",
  P : "PAPER",
  S : "SCISSOR"
};
console.log(object.userval)

当我在提示符下输入 R 时,我希望控制台记录“ROCK”。

javascript error-handling javascript-objects undefined undefined-behavior
3个回答
0
投票

看起来您正在尝试将

userval
引用为您定义的
object
上的属性,而实际上您想要使用该值来查找属性。

也许试试

console.log(object[userval])

在开发工具中设置调试断点有助于检查对象的构造方式,并在控制台中试验不同的调用。


0
投票

object.userval
等同于
object['userval']
。您需要使用
object[userval]
才能访问
userval
变量。


0
投票

您正在尝试访问

object.userval
,这不是对象的属性。

您可以使用 Bracket notation 动态访问对象的属性(使用变量)。以下是您可以修改代码以获得所需输出的方法:

let userval = prompt("enter R,P,S");
const object={
  R : "ROCK",
  P : "PAPER",
  S : "SCISSOR"
};
console.log(object[userval]); //use bracket notation to access property using variable

© www.soinside.com 2019 - 2024. All rights reserved.