-1
votes

Appeler une fonction anonyme dans la déclaration de fonction

essayer d'accéder à une fonction anonyme 'pleut' en passant un argument xxx


2 commentaires

De la même manière que vous appelez n'importe quelle fonction, pleut (3) ou quelque chose de similaire?


La fonction pleut n'est pas retournée par la fonction, ni assignée à une variable globale ou fermée, il obtient donc des ordures recueillies (supprimées) immédiatement après Météo () Retours


3 Réponses :


1
votes

Vous pouvez utiliser la fonction Currying pour accéder à la fonction anonyme à l'intérieur Météo () Code>. Fondamentalement, cela signifie renvoyer la référence de fonction anonyme de la fonction extérieure et l'exécuter avec le paramètre attendu.

p>

function weather(){
    function sunny(){
        return "Sun is shining!";
    }
    console.log(sunny());

    var raining = function(num){
        var rainThisWeek = " ";
        for (var d = 0; d < num; d++){
            rainThisWeek += "pelting";
        }
        return rainThisWeek;
    }
    return raining; //you can curry the anonymous function
}
//-----------------v This will return the anonymous function reference
console.log(weather()(4)); 
//--------------------^ This will execute the returned anonymous function with the parameter 4


0 commentaires

0
votes

Vous pouvez utiliser des rappels pour ce type d'exigence. xxx


0 commentaires

0
votes

La façon dont vous avez défini la méthode de pluie, vous ne pouvez pas y accéder en dehors de la fonction. Vous devez soit renvoyer la méthode

p>

function weather(){
        function sunny(){
            return "Sun is shining!";
        }
        console.log(sunny());
    
        this.raining = function(num){
            var rainThisWeek = " ";
            for (var d = 0; d < num; d++){
                rainThisWeek += "pelting";
            }
            return rainThisWeek;
        }
    }
    const weather1 = new weather();
    console.log(weather1.raining(3));


0 commentaires