使用 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”时,它会打印回“function BIG()”,这意味着 Meteor 识别出 BIG 是一个函数,但不识别 BIG 内的子函数。
对我如何实现这一目标有任何帮助吗?
谢谢。
语法,应该是这样(根据你当前的语法):
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();
为什么不使用此函数返回的对象? 即:
var big = function() {
return {
init: function() {
alert(1);
},
addSomething: function(param1, param2) {
//do something else
}
}
}
BIG = big();
BIG.init();