相关疑难解决方法(0)

对象文字/初始化器中的自引用

有没有办法在JavaScript中使用以下内容?

var foo = {
    a: 5,
    b: 6,
    c: this.a + this.b  // Doesn't work
};
Run Code Online (Sandbox Code Playgroud)

在当前形式中,此代码显然会抛出引用错误,因为this没有引用foo.但是,有什么办法对早些时候宣布的其他属性在对象文本的属性值依赖?

javascript object-literal

660
推荐指数
14
解决办法
12万
查看次数

Javascript对象如何引用值本身?

可以说我有以下javascript:

var obj = {
 key1 : "it ",
 key2 : key1 + " works!"
};
alert(obj.key2);
Run Code Online (Sandbox Code Playgroud)

"key1未定义"时出现此错误.我试过了

this.key1
this[key1]
obj.key1
obj[key1]
this["key1"]
obj["key1"]
Run Code Online (Sandbox Code Playgroud)

他们似乎从来没有定义过.

如何让key2引用key1的值?

javascript object

158
推荐指数
8
解决办法
9万
查看次数

在初始化时引用其自身属性的对象

可能重复:
对象文字/初始值设定项中的自引用

可以这样做吗? (显然不在这个语法中)

var a = {
    b : 10,
    c : this.b * 2 // returns 'undefined'
};
Run Code Online (Sandbox Code Playgroud)

我也试过了

var a = {
    b : 10,
    c : a.b * 2 // throws error 'a is undefined'
};
Run Code Online (Sandbox Code Playgroud)

var a = {
    b : 10,
    c : b * 2 // throws error 'b is undefined'
};
Run Code Online (Sandbox Code Playgroud)

我觉得这些值是未定义的,我还没有完成它们的定义.然而,在我看来,似乎会有一个解决方案来构建像这样的对象并且c有条件b

javascript object

15
推荐指数
1
解决办法
3591
查看次数

对象文字中的引用变量?

说我有

myfunc({
  var1: 1,
  var2: 2,
})
Run Code Online (Sandbox Code Playgroud)

如果我想拥有一个使用当前未命名对象的值,我该怎么做?

如果我想要的话

myfunc({
  var1: 1,
  var2: 2,
  var3: this.var1 + this.var2
})
Run Code Online (Sandbox Code Playgroud)

显然这不起作用.

正确的语法是什么?

javascript object-literal

14
推荐指数
2
解决办法
8993
查看次数

标签 统计

javascript ×4

object ×2

object-literal ×2