javascript - 当我把它放在对象里面时,箭头函数不起作用,调用后的结果是NaN
问题描述
var mySelf = {
name: "dina",
job: "Programmer",
yearOfBirth: 1993,
age: () => 2019 - this.yearOfBirth
};
let result = mySelf.age();
console.log(result);
结果是NaN
请帮助我到底发生了什么?
解决方案
箭头函数继承封闭上下文(Window
在这种情况下)而不是对象上下文,而是使用普通函数。
var mySelf = {
name: "dina",
job: "Programmer",
yearOfBirth: 1993,
age: function() { return 2019 - this.yearOfBirth }
};
let result = mySelf.age();
console.log(result);
显示箭头函数接收词汇this
-
const o =
{ func: () => this === window }
console.log(o.func()) // true
推荐阅读
- python - Selenium(Python)中的路径选择不起作用
- r - 我如何(我的概率?)
- python - Python “for” problem - Can only tuple-index with a MultiIndex
- svg - 使用 svg 圆和文本在饼图中围绕中心对齐文本
- python - 使用 pywinauto 确认 PuTTY 主机密钥提示
- excel - Excel VBA - 大数的奇怪问题
- testing - 测试中未保存的 Grails 域类
- javascript - 用 js 地图检查的复选框
- powershell - PowerShell 类中的重载运算符 %
- python - Pymodbus 使用串行客户端注册自定义格式