Meteor JS全局功能

时间:2015-10-14 13:57:35

标签: javascript function meteor global function-declaration

使用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不是一个功能"。 当我输入" BIG"在我的控制台中,它打印回来"功能BIG()"这意味着Meteor认识到BIG是一个功能,但不会识别BIG中的子功能。

有关如何实现这一目标的任何帮助?

感谢。

2 个答案:

答案 0 :(得分:1)

语法,应该是这个(根据您当前的语法):

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

你知道,你需要使用new BIG关键字构建一个new实例,以便在this内正确设置BIG上下文,然后它会为你返回它的方法执行。

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

BIG = {

     init: function ()
     {
        //do something
     }

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

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

答案 1 :(得分:0)

为什么不使用此功能返回对象? 即:

var big = function() {

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

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

BIG = big();

BIG.init();