-1

如何在 JavaScript 中保存/重用对象?

if (typeof window.Test == "undefined") window.Test = {};
if (typeof Test == "undefined") Test = {};

Test.Object1 = function() {
    var obj =  {

        init: function(msg) {
            console.log(msg);
        },

        EOF: null
    };

    return obj;
}();

Test.Test = function() {
    var obj = {

        init: function() {
            var obj1 = Test.Object1.init('Object 1 initialized');
            console.log(obj1);
        },

        EOF: null
    };

    return obj;
}();

Test.Test.init();

console.log(obj1)返回undefined

var obj1 = new Test.Object1();生产TypeError: Test.Object1 is not a constructor

4

1 回答 1

1

init只需调用console.log并返回undefined。您将init(再次, undefined) 的结果存储到obj1并且控制台忠实地向您报告该值。

也许你想做:

var obj1 = Test.Object1;

因为在您的第一个匿名函数Test.Object1中具有 的值。obj

或者也许你想做:

Test.Object1 = function() {
    var obj =  {

        init: function(msg) {
            console.log(msg);
            return this;
        },
 ...

所以init返回一个非undefined值。

于 2013-05-07T16:30:02.890 回答