2017-02-14 4 views
0

これで誰でも助けてくれますか?私は関数内で関数を宣言し、今はその関数だけを呼びたいと思っています。例えば関数内の関数を使用するjavascript

function hello(){ 
      alert("Hello"); 

    function insideHello(){ 
      alert("insideHello"); 

     } 

} 

は、私はちょうどinsideHello関数を呼び出したいです。

(new hello()).insideHello();this.insideHello = functionと呼ぶことをお勧めします。私はキャンバスシナリオでこれを使用しているので毎回newを使用したくありません。事前

答えて

0

おかげで、私は2つの機能を持っているでしょうし、あなたが最初の内側から2番目1を呼び出す - しかし、あなたは(もちろん名前は文句を言わない。この例ではあまり意味が)別に同様秒1を呼び出すことができます。

function hello(){ 
    alert("Hello"); 
    insideHello(); 
} 


function insideHello(){ 
    alert("insideHello"); 
    } 

こうすると、hello()を呼び出すことによって外側と内側の両方の関数を取得できます。 innerHello()を呼び出して内部関数だけを呼び出します。 ...私は外部に内部の機能を削除して以来、名前は非常に記述的ではないことに再び注目した。しかし、内側のものだけを呼びたいなら、外側のものを呼び出す必要はないはずです。両方を呼び出す場合は、外側のものを処理できる必要があります。

2

あなたはそのAPIの一部として公開しinsideHellohello "モジュール" 作ることができます:

function hello() { 
    alert("Hello"); 

    function insideHello() { 
    alert("insideHello"); 
    } 

    return { 
    insideHello // or insideHello: insideHello 
    } 
} 

hello().insideHello() 
関連する問題