【问题标题】:why doesn't dot notation work in function parameter? [duplicate]为什么点符号在函数参数中不起作用? [复制]
【发布时间】:2021-12-07 14:33:18
【问题描述】:

这段代码很简单,它用于获取扫描的项目并返回它们的值,如果扫描的项目不存在,那么它将返回未定义,但由于某种原因,点符号不适用于我的函数,而仅适用于括号符号!出于好奇,我想知道为什么它不适用于带有详细解释的点符号

带点符号的代码

let foods = {
  apples: 25,
  oranges: 32,
  plums: 28,
  bananas: 13,
  grapes: 35,
  strawberries: 27
};

function checkInventory(scannedItem) {

var inventory = foods.scannedItem;

return inventory;
  
}

console.log(checkInventory("apples"));
带括号符号的代码
let foods = {
  apples: 25,
  oranges: 32,
  plums: 28,
  bananas: 13,
  grapes: 35,
  strawberries: 27
};

function checkInventory(scannedItem) {

var inventory = foods[scannedItem];

return inventory;
  
}

console.log(checkInventory("apples"));

【问题讨论】:

  • foods.scannedItem 正在检查名为“scannedItem”的键。而括号根据变量scannedItem指向的值检查键(例如“apples”)。
  • 你已经知道它被称为“点表示法”和“括号表示法”。你知道两者的区别吗?到目前为止你做了什么研究?所有这些都在JavaScript property access: dot notation vs. brackets? 中进行了解释。

标签: javascript function object parameters


【解决方案1】:

点之后是密钥的名称,这意味着您必须提前知道密钥,这是一个限制。可能我们有括号表示法,它采用字符串字母作为键名或一个变量,用于保存您请求的键的情况,例如用户提供键或在您的情况下在函数 args 中传递键。

【讨论】:

    猜你喜欢
    • 2016-08-21
    • 1970-01-01
    • 2022-06-20
    • 2018-04-06
    • 2016-12-20
    • 1970-01-01
    • 2021-05-05
    • 2021-04-06
    • 2016-06-20
    相关资源
    最近更新 更多