对象字面量/初始值设定项中的自引用
P粉921130067
P粉921130067 2023-08-29 12:38:19
[Vue.js讨论组]
<p>有什么方法可以让像下面这样的东西在 JavaScript 中工作吗?</p> <pre class="brush:php;toolbar:false;">var foo = { a: 5, b: 6, c: this.a + this.b // Doesn't work };</pre> <p>在当前形式中,此代码显然会引发引用错误,因为 <code>this</code> 并未引用 <code>foo</code>。但是<em>有</em>有什么方法可以让对象字面量属性中的值依赖于之前声明的其他属性吗?</p>
P粉921130067
P粉921130067

全部回复(2)
P粉615829742

你可以这样做:

var foo = {
   a: 5,
   b: 6,
   init: function() {
       this.c = this.a + this.b;
       return this;
   }
}.init();

这将是对象的某种一次性初始化。

请注意,您实际上是将 init() 的返回值分配给 foo,因此您必须返回该值

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号