当对象是另一个变量的一部分时,在对象内部使用对象

Bmeri

我想输出一个对象属性的名称(“ sword”)。我想我应该可以通过使用

player.weapon.name

当所有内容都嵌套在一个对象中时,这样做没有问题,但是当尝试从另一个变量(剑)中获取属性(名称)时,单击“设备”按钮时应用程序将中断。经过测试,我确定这是由于

player.weapon.name

行为不正常。

vscode(https://i.imgur.com/Gw4cEnv.png提供的弹出窗口表明player.weapon.name应该起作用。我也尝试了括号表示法,但无济于事。引用此属性的正确语法是什么?

// DOM Variables
var equipButton = document.getElementById('equip-button');

// UI Variables
var equipQuery = false;

// Player Variables
var player = {
  name: "Player",
  health: 100,
  armor: 0,
  strength: 1,
  accuracy: 80,
  knowledge: 0,
  weapon: sword,
};

equipButton.style.display = 'none';

showStatus();

// Button Handlers

equipButton.addEventListener('click', function() {
  equipQuery = true;
  showStatus();
});

// Write Screen

function showStatus() {
  if (equipQuery == true) { // Clicked Equip Button
    textArea.innerText = "You are wielding " + player.weapon.name;

    equipQuery = false; // Let's turn off the equip query

    equipButton.style.display = 'none'; // Sets the buttons such that the player can go back

    return;
  }

  textArea.innerText = "Your name is " +    player.name; // Default Text

}

// Item Objects

var sword = {
  name: "sword",
  bigname: "Sword",
  strength: 0,
  accuracy: 0,
  type: null,
};
乔纳斯·威尔姆斯

sword在实际为其分配值之前使用,因此它是undefinedconsole.log(player)用于验证),因此您无法访问name

那是可能的,因为您使用var允许出现此类错误,而使用letconst(对于不变的值),那么它将指出这些错误。

  let player = { weapon: sword }; // error: variable used before declaration

  const sword = {};

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Python中将geojson对象的一部分合并到另一个对象中

检查对象的一部分是否包含另一个整个对象

在对象中定义一个函数,并将变量作为函数的一部分

使用另一个对象数组过滤对象数组,但只是字符串的一部分

将画布的一部分裁剪为另一个画布对象

使用Vuex,当项目是对象数组的一部分时如何从数组中删除项目?

通过仅选择其属性的一部分,从另一个对象数组构建对象数组

当您知道GET变量名称的一部分时,将GET变量分配给PHP中的另一个变量

当它是对象列表的一部分时,如何访问对象属性

C#IndexOf,当单词是另一个单词的一部分时,该怎么做?

使用变量作为另一个变量名的一部分

Django使用模板变量的值作为另一个变量名的一部分

Hibernate查询获取对象列表,每个所需对象都在其他对象列表内。该列表是另一个对象的一部分

Rails:Flash对象是否是会话对象的一部分

在对象内部,一个方法是否可以使用另一个方法的返回值?

批量将一个变量与另一个变量的一部分匹配

powershell如何找出一个变量是否是另一个变量的一部分

使用 iter() 将列表的一部分保存在一个变量中,另一部分保存在另一个变量中

如何检查嵌套对象是否是另一个不使用 jQuery 的对象的后代

使用路径访问对象的一部分

使用接口的一部分来创建对象

对象是否面对另一个

从单元格读取 JSON 数组并将最后一个对象的一部分写入同一行中的另一个单元格

从另一个对象创建一个对象是更好的做法

测试一个对象是否依赖于另一个对象

如何检查一个对象是否包含另一个对象,例如

检查一个对象是否是另一个对象中的参数

如何使用SDO_JOIN查找一个对象是否在另一个对象内

Javascript - 更改作为另一个变量定义一部分的变量值