对象字面量中的引用变量?
如果我
myfunc({
var1: 1,
var2: 2,
})
想要一个使用当前未命名对象的值,我该怎么做?
例如,如果我想要
myfunc({
var1: 1,
var2: 2,
var3: this.var1 + this.var2
})
显然这是行不通的。
正确的语法是什么?
say I have
myfunc({
var1: 1,
var2: 2,
})
if i want to have a value that makes use of the current unnamed object, how would I do this?
eg if I wanted
myfunc({
var1: 1,
var2: 2,
var3: this.var1 + this.var2
})
obviously this does not work.
What would the correct syntax be?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以将 var3 设为一个函数,调用它将允许您使用“this”:
You could make var3 a function, and calling it will allow you to use 'this':
不幸的是,这是不可能的。在构造对象文字时,在评估整个文字之前,不存在对该对象的外部引用。在此阶段使用
this
的唯一方法是使用构造函数:Unfortunately, that isn't possible. While an object literal is being constructed, no external reference to that object exists until the entire literal is evaluated. The only way to use
this
at this stage is to use a constructor instead:你不能用你正在使用的符号来做到这一点。在此上下文中,对象字面量本身没有任何概念。
You can't do it in the notation you're using. An object literal doesn't have any notion of itself in this context.