我有一些代码:立即调用的属性可以引用它被分配到的对象吗?
var obj = {
foo : true,
bar : (function() {
if (obj.foo) {
return qux;
}
})()
};
我的问题是,qux
永远不会被退回,因为obj
不存在时bar
执行,因为bar
是立即调用函数。
有一个解决方案:
var obj = {
foo : true
};
obj.bar = (function() {
if (obj.foo) {
return qux;
}
})();
但我发现以前的代码更简单。有没有办法做到这一点,还是我坚持后者?
在此先感谢。
不,不能这样做。 *编辑*等待我会发布一个可能性。 *再次编辑*不,这是一个愚蠢的想法。我坚持我原来的观点:) – Pointy
为什么你认为你需要一个IIFE呢? – meagar
我没有看到立即设置bar属性的意义,特别是当它取决于foo时,它始终为真... – Samy