javascript - 理解 this 关键字
问题描述
所以我一直在研究JS中的关键字“this”,我不确定我是否完全理解清楚。因此,为了理解“this”关键字,我首先创建了一个 JS 对象,并查看是否可以根据使用 this 关键字执行的一些数学运算返回一个值。下面的代码是我最初的尝试:
let myObject = {
objectFunc: function() {
this.thing = 10;
},
addFunc: function(x) {
let result = this.thing + x;
return result;
}
}
console.log(myObject.addFunc(20));
所以我希望这个控制台日志返回 30,但是我在控制台中得到一个“NaN”。有人可以向我解释为什么吗?并且还指向我一些更容易理解的不是上面链接的 MDN 的文档/解释?
解决方案
你在正确的轨道上。它给你 NaN 的原因是“this.thing”还没有被定义。它仅在您myObject.objectFunc()
第一次调用时定义。
let myObject = {
objectFunc: function() {
this.thing = 10;
},
addFunc: function(x) {
let result = this.thing + x;
return result;
}
}
myObject.objectFunc()
console.log(myObject.addFunc(20));
推荐阅读
- java - 使用 Retrofit2 Kotlin/Java 将数据从 API 显示到自定义微调器
- javascript - 正则表达式
- javascript - 如何通过 Nodejs 下载带有 m3u8 扩展的视频
- ios - 如何在 iOS 模拟器启动时停止应用程序请求跟踪
- tensorflow - LSTM 编码器解码器模型训练错误:ValueError
- angular - 我已经完成了 *ngFor 循环
- google-cloud-platform - Terraform 总是尝试替换 gcp 计算实例而不进行更改
- python - 如何在谷歌协作中使用 python 从 csv 文件中读取特定列
- c++ - 快速构建 - 默认参数(C++ 包)
- c# - 显示来自一对多关系.net的数据