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

qcuzuvrc  于 2023-04-19  发布在  Java
关注(0)|答案(3)|浏览(134)

我对javascript很陌生,我正在做一个石头,布,剪刀游戏,但是下面的代码行给了我未定义的值,有人能用简单的话解释一下为什么控制台日志给我未定义的输出吗?

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

我希望控制台记录“摇滚”当我进入R在提示等等。

xjreopfe

xjreopfe1#

看起来像是试图引用userval作为您定义的object上的属性,而实际上您希望使用该值来查找属性。
可以试试console.log(object[userval])吗?
在开发工具中设置调试断点也有助于检查对象的构造方式,并在控制台中试验不同的调用。

r7xajy2e

r7xajy2e2#

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

mutmk8jj

mutmk8jj3#

您正在尝试访问object.userval,它不是对象的属性。
您可以使用括号表示法动态访问对象的属性(使用变量)。以下是如何修改代码以实现所需的输出:

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

相关问题