Meteor JS 全局函数

Meteor JS global function

使用 Meteor.js 我想使用包含其他函数的全局函数 :

BIG = function (){

     this.init = function ()
     {
        //do something
     }

     this.addSomething = function (param1, param2)
     {
        //do something else
     }

}

现在我调用这个函数就像:

 BIG.init();
 BIG.addSomething(param1, param2);

但这不起作用,控制台打印 "BIG.init is not a function"。 当我在控制台中键入 "BIG" 时,它会打印回 "function BIG()",这意味着 Meteor 识别出 BIG 是一个函数,但不识别 BIG 中的子函数。

关于如何实现此目标的任何帮助?

谢谢。

语法,应该是这样的(根据你现在的语法):

new BIG().init();
new BIG().addSomething();

你看,你需要使用 new 关键字构造一个 new BIG 实例来正确设置 BIG 中的 this 上下文,然后它将 return 是你执行的方法。

但我怀疑这实际上是您想要做的。你确定你不想像下面这样声明一个对象字面量吗:

BIG = {

     init: function ()
     {
        //do something
     }

     addSomething: function (param1, param2)
     {
        //do something else
     }

}
BIG.init();
BIG.addSomething();

为什么不用这个函数返回的对象? 即:

var big = function() {

    return {
        init: function() {
            alert(1);
        },

        addSomething: function(param1, param2) {
            //do something else
        }
    }
}

BIG = big();

BIG.init();