首页 > 解决方案 > 如何在 JavaScript 的单例对象中正确使用“this”?

问题描述

var a={b:44,c:this.b+1};

在这种情况下,我想c成为45 岁或 45 岁。b+1但是当我尝试这个时,我得到了Cannot read property 'b' of undefined错误。

标签: javascriptoopthis

解决方案


在 JavaScript 中,创建对象时,执行上下文不会改变。因此,this在您的案例中,该值是从顶层获取的。或者以不同的方式表达,如果尚未完成初始化,则无法访问对象的属性。

您的问题的实际解决方案可能是:

var a = { b: 44 };
a.c = a.b + 1;

推荐阅读