我有这样的代码,其中我使用函数在对象内创建对象。如您所见,我无法访问createObj,因为它尚未定义。使用“ this”没有帮助,因为它仍然是“ window”。我知道一种替代方法是在创建对象o后使用New或create“ obj1”属性,但是还有其他方法吗?

o = {
createObj: function(){
//obj creation code
},
obj1: createObj()
}

最佳答案

你可以;

var o = (function() {
    function createObj() {
        //obj creation code
    }
    return {
        createObj: createObj,
        obj1: createObj()
    }
})();

10-06 01:02