javascript - 当分配为对象属性时,IIFE 如何影响其中的这个关键字
问题描述
var a={
name:"Rhona",
check:(function(){
return this.name;
})();
}
console.log(a.check)// This returns ""
一个空字符串,我希望它返回 Rhona,它没有给出 undefined 或 null,而是一个空字符串,这是怎么回事?
而且我还想知道为什么当我访问不存在的对象属性时它给出未定义而不是给出未定义我承认未定义是在创建阶段赋予变量的值,执行阶段然后初始化该值,所以如果没有初始化它保持未定义所以当我访问一个对象属性时让我们说a.lastname不存在不应该java脚本返回未定义为什么它给出未定义?
解决方案
您可以使用getter来实现您想要的:
var a={
name:"Rhona",
get check(){
return this.name;
}
}
推荐阅读
- css - Internet Explorer 11 中的 Div 大小不起作用
- reactjs - 由于调用 axios,无法用玩笑测试 React 组件
- android - 某些 Android 设备的浏览器中的字体大小不规则
- r - 带有原生 R 对象的 SQL 语句
- kotlin - 从 Dart 向 Kotlin 发送回调函数
- python - 如何在 macOS 中使用下载的 Python 包?
- java - Jasper 报告 - 数字格式问题
- javascript - 如果有多个 AND、OR、NOT,则将句子拆分为引用的短语
- python - 如何通过发送与模型相关的 objects.all() 来获取外键
- python - 你能解释一下这个答案是正确的吗?