7

是否可以有一个自执行函数,它是一个对象属性值,将值分配给对象中的其他属性?

例如 - 我想做的是:

var b={
  c:'hi',
  d:null,
  e:new function(){this.d=5}
};

但是新函数内部的“this”似乎指的是是否可以从函数内部访问be parent(即b)?

4

2 回答 2

7

这就是你的做法。

通常称为模块模式(更多信息

var b = function () {
   var c = 'hi';
   var d = null;

   return {
     c : c,
     d : d,
     e : function () {
       // this function can access the var d in the closure.
       d = 5;
     }
   }
}();
于 2012-07-27T12:41:34.420 回答
1

您可以访问 中的值function,您只需要摆脱new,即

e: function () {
    this.d = 5;
}
于 2012-07-27T12:42:32.000 回答