javascript - 为什么在 JavaScript 中运行时输出“未定义”?
问题描述
const fruits = {
apple: '',
mango: '',
peach: '',
banana: '',
pineapple: '',
strawberry: '',
getFruit(name) {
return this.name;
},
};
let name = 'apple';
var callFunc = fruits.getFruit(name);
console.log(callFunc);
解决方案
.name
指称为名称的成员。由于您没有这样的成员,undefined
因此被退回。如果要引用动态成员,可以使用[]
运算符:
const fruits = {
apple: '',
mango: '',
peach: '',
banana: '',
pineapple: '',
strawberry: '',
getFruit(name) {
return this[name]; // Here!
},
};
推荐阅读
- c# - 如何在更新中每次使用 foreach 循环一次,并且每次都使用 bool 标志?
- java - 用 spock 嘲笑的价值观不会延续到 Kotlin 吗?
- python - 使用 groupby 的 SimpleImputer
- mysql - 如何将对象数组插入 MariaDB 数据库
- python - mpirun 在一定数量的进程上崩溃
- javascript - 尝试使用 pm2 启动 node.js 应用程序时出错:
- scroll - Sulu:如何用智能内容实现“加载更多”按钮?
- bash - bash shell 中的 for 循环中的“&”
- android - 在模块中发现重复的类 com.google.android.gms.internal.firebase_messaging.zza
- momentjs - Javascript - 与 120 秒的差异日期