javascript - 在 javascript 对象字面量中访问“this”
问题描述
我试图让这段代码工作,但无法弄清楚为什么myInvoice.amount
评估为NaN
.
我最初认为它与 的值有关this
,但如果是这种情况,为什么 myInvoice.total() 工作正常?
function createInvoice(services = {}) {
return {
phone: services['phone'] || 3000,
internet: services['internet'] || 5500,
amount: (this.phone + this.internet),
total() {
return this.phone + this.internet;
},
};
}
let myInvoice = createInvoice();
console.log(myInvoice.phone); // 3000
console.log(myInvoice.internet); // 5500
console.log(myInvoice.amount); // NaN
console.log(myInvoice.total()); // //8500
我还检查了 typeofphone
和internet
它们都是数字。我还在表达式旁边的注释中包含了记录到控制台的内容。
任何帮助,将不胜感激!
谢谢
解决方案
推荐阅读
- ios - 在 Mac Catalyst 中使用 applicationShouldTerminateAfterLastWindowClosed
- angular - Workbox 后台同步在线时向服务器发送 2 个请求而不是 1 个
- flutter - 动态和有条件地将小部件添加到列表中
- python - matplotlib 等高线图中的条件函数变化
- javascript - 如果一个精灵完全在视图之外,它还会被渲染吗?
- pyspark - 使用 PySpark 而不使用窗口对来自 Kafka 的流数据执行滚动平均
- performance - Perl,如何让这个脚本更小、更快、更好、更强?
- java - 如何在新的独立泛型类中重用另一个文件中的代码?
- c# - Microsoft Forms 停靠在左上角。C#
- python - Selenium:如何从“find_elements”列表中单击单个项目