を変更せずにsecondFunction()
外部から呼び出す方法はありません。それが受け入れられる場合は、読み続けてください...firstFunction()
firstFunction()
方法 1:firstFunction()
への参照を返すように変更しますsecondFunction()
。
function firstFunction() {
stringWord = "Hello World";
return function secondFunction() {
alert(stringWord);
}
}
// And then call `firstFunction()` in order to use the function it returns:
function thirdFunction() {
run = setTimeout(firstFunction(), 5000);
}
// OR
var secondFunc = firstFunction();
function thirdFunction() {
run = setTimeout(secondFunc, 5000);
}
方法 2:スコープ外でアクセス可能な変数にfirstFunction()
参照を入れている:secondFunction()
var secondFunc;
function firstFunction() {
stringWord = "Hello World";
function secondFunction() {
alert(stringWord);
}
window.secondFunc = secondFunction; // to make a global reference, AND/OR
secondFunc = secondFunc; // to update a variable declared in same scope
// as firstFunction()
}
firstFunction();
function thirdFunction() {
run = setTimeout(secondFunc, 5000);
}
どちらのメソッドでも、内部関数を使用する前に実際に呼び出す 必要があることに注意してください。firstFunction()