javascript - 如何在 JavaScript 的单例对象中正确使用“this”?
问题描述
var a={b:44,c:this.b+1};
在这种情况下,我想c
成为45 岁或 45 岁。b+1
但是当我尝试这个时,我得到了Cannot read property 'b' of undefined
错误。
解决方案
在 JavaScript 中,创建对象时,执行上下文不会改变。因此,this
在您的案例中,该值是从顶层获取的。或者以不同的方式表达,如果尚未完成初始化,则无法访问对象的属性。
您的问题的实际解决方案可能是:
var a = { b: 44 };
a.c = a.b + 1;
推荐阅读
- moodle - 如何在 Moodle 中过滤具有非空值的记录?
- database - 如何在 acumatica 中创建自定义字段时将自定义 DB 字段作为某个值而不是 null
- c# - 模型和表上的值一直显示为空
- css - CSS选择所有后代中的最后一个元素
- vb.net - BackgroundWorker 中的 TWAIN 事件
- html - Angular:在 html 模板中使用三元运算符
- javascript - 下个月的时刻检查
- typescript - 时刻:格式化日期时添加+1个月
- c - 进程可以读取自己的标准输出/标准错误吗?
- migrate - django.db.utils.ProgrammingError:在我尝试将 Hstorefield 添加到我的模型后无法调整类型“dict”