2013-07-16 10 views
6

all'interno Se Ho codice:Funzione

function A() { 

    function B() { 

    } 

    B(); 

} 

A(); 
A(); 

è la funzione B analizzato e creato ogni volta che io chiamo una (in modo che possa diminuire le prestazioni di A)?

+0

Perché avete bisogno di questo? :) –

+0

Direi di sì perché la funzione B esiste solo nell'ambito della funzione A – DarkBee

+0

Perché non si esegue la funzione B all'esterno di A e si chiama B all'interno di A? –

risposta

2

Se si desidera utilizzare una funzione solo internamente, per quanto riguarda la chiusura. Ecco un esempio

var A = (function() { 
    var publicFun = function() { console.log("I'm public"); } 
    var privateFun2 = function() { console.log("I'm private"); } 

    console.log("call from the inside"); 
    publicFun(); 
    privateFun2(); 

    return { 
     publicFun: publicFun 
    } 
})(); 

console.log("call from the outside"); 
A.publicFun(); 
A.privateFun(); //error, because this function unavailable 
2
function A(){ 

    function B(){ 

    } 
    var F=function(){ 
     B(); 
    } 
    return F; 
} 
var X=A(); 
//Now when u want to use this just use this X function it will work without parsing B() 
Problemi correlati