私はこの問題を抱えています1)main()とmain()内のメインUIに関連する他のものを含むいくつかの関数があります2)サーバーからUIへの接続を行う別のファイル
二次ファイルからmain()から関数を呼び出すための解決策を見つけることができません(これはゴッドプログラミング設計ではないことを知っていますが、私はすでにたくさんのコードを書いています)
ありがとう:)
私はこの問題を抱えています1)main()とmain()内のメインUIに関連する他のものを含むいくつかの関数があります2)サーバーからUIへの接続を行う別のファイル
二次ファイルからmain()から関数を呼び出すための解決策を見つけることができません(これはゴッドプログラミング設計ではないことを知っていますが、私はすでにたくさんのコードを書いています)
ありがとう:)
jsでは、function
sはスコープの制約です。したがって、次のコードを検討してください。
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();
これらの例で遊ぶことができるように、いくつかのjsfiddleを次に示します。http://jsfiddle.net/lbstr/A3dSB/
http://jsfiddle.net/lbstr/FyDAL/
http://jsfiddle.net/lbstr/2TLu2/