【发布时间】:2021-01-08 16:24:44
【问题描述】:
当我希望属性打印年份时,我无法访问该变量 我有这个 obj:
let human = {
birdYear: 1,
getAge: (function (birdYear) {
return 2021 - this.birdYear
})()
};
当打印人类得到这个时:
Cannot read property 'birdYear' of birdYear
我想得到这个:
{
birdYear: 1
getAge: 2020
}
一些手杖帮助我?我愿意使用:
- '这个。'
- 没有'this.birdYear'
- (fn(birdYear){...birdYear})()
- (fn(birdYear){...birdYear})(this.birdYear)
什么都没有
谢谢
// 添加
我是这样找到的
let human = {
birdYear: 1,
get getAge() {
return new Date().getFullYear() - this.birdYear
}
};
有效! 我只需要了解我为什么不使用 IIFE 作为方法...
【问题讨论】:
-
this指的是你的函数,而不是它所属的对象,因为对象是对象字面量,而不是类实例。
标签: javascript object iife