我可以将一个匿名函数作为同一对象中两个不同属性的值吗?

时间:2012-11-03 08:08:17

标签: javascript anonymous-function object-properties

请注意,以下示例中createupdate都相同。我相信update只能成为create代码的别名,而无需再次写出来。

this.VAROPS = {
    // variable operations
    create:     function(id, value) { variables[id] = value; }
,   delete:     function(id)        { delete variables[id]; }
,   update:     function(id, value) { variables[id] = value; }
};

1 个答案:

答案 0 :(得分:1)

你可以,你有两个选择:

  1. 创建一个实际的命名函数(可能是作用域内的本地引用)并将其分配给两个属性

    function foo() {}
    var bar = {
        baz: foo,
        xyzzy: foo
    }
    
  2. 将第一个属性的值分配给object-literal定义

    的第二个属性 outside
    var foo = {
        bar: function() {}
    }
    foo.baz = foo.bar;