从另一个javascript文件访问main()函数

时间:2012-08-14 14:07:53

标签: javascript

我有这个问题我有2个文件 1)包含main()和与主UI相关的其他内容 在main()里面有一些功能 2)另一个从服务器到UI的连接文件

我无法从辅助文件中找到从main()调用函数的任何解决方案(我知道这不是一个godd编程设计,但我已经编写了很多代码)

谢谢:)

1 个答案:

答案 0 :(得分:1)

在js中,function是您的范围限制。因此,请考虑以下代码:

function main(){
    function callMom(){
        alert('hi mom!');
    }
}

function goAboutYourDay(){
    brushTeeth(); // works
    callMom(); // wont work
}

function brushTeeth(){
    alert('brush brush brush');
}

根据您的情况,您可以考虑返回一些main函数,如下所示:

function main(){
    var callMom = function(){ 
        alert('hi mom!');
    }

    return {
        callMommy: callMom
    };
}

function goAboutYourDay(){
    var m = main();
    m.callMommy(); 
}

以下是使用原型的方法:

var Main = function(){
    this.message = "Will you send some candy?";
};

Main.prototype.callMom = function(){
    alert('Hi Mom! ' + this.message);
};

function otherFile(){
    // you could create a new instance of Main if there isn't one available to you here
    var main = new Main(); 
    main.callMom();    
}

otherFile();
​

以下是一些jsfiddles,您可以使用这些示例:
http://jsfiddle.net/lbstr/A3dSB/
http://jsfiddle.net/lbstr/FyDAL/
http://jsfiddle.net/lbstr/2TLu2/