using meteorl .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()",这意味着流星识别BIG是一个函数,但不识别BIG中的子函数。
有什么帮助吗?
谢谢。
语法,应该是这样的(根据您当前的语法):
new BIG().init();
new BIG().addSomething();
你看,你需要使用new
关键字构造一个new BIG
实例,在BIG
内部正确设置this
上下文,然后它会返回它的方法供你执行。
但我怀疑那真的是你想要做的。你确定你不想像下面这样声明一个对象字面量:
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();