首页 > 解决方案 > 当分配为对象属性时,IIFE 如何影响其中的这个关键字

问题描述

var a={
   name:"Rhona",
   check:(function(){
          return this.name;
            })();
   }
 console.log(a.check)// This returns ""

一个空字符串,我希望它返回 Rhona,它没有给出 undefined 或 null,而是一个空字符串,这是怎么回事?

而且我还想知道为什么当我访问不存在的对象属性时它给出未定义而不是给出未定义我承认未定义是在创建阶段赋予变量的值,执行阶段然后初始化该值,所以如果没有初始化它保持未定义所以当我访问一个对象属性时让我们说a.lastname不存在不应该java脚本返回未定义为什么它给出未定义?

标签: javascriptjqueryangularreactjsweb

解决方案


您可以使用getter来实现您想要的:

var a={
   name:"Rhona",
   get check(){
          return this.name;
            }
   }

推荐阅读