First-class functions pour les novices: définitions et arguments

6 flashcards · Programming Languages · by mxmock

  1. Dans le code suivant, quelles fonctions sont des fonctions de callback ? numbers.sort(function sortAsc(a, b) { return a – b; }); function ninja() {} ninja(); var myButton = document.getElementById("myButton"); myButton.addEventListener("click", function handleClick() { alert("Clicked"); });

    Les fonctions sortAsc et handleClick.

  2. Dans le code suivant, catégorisez les fonctions selon leur type (déclaration de fonction, expression de fonction ou fonction fléchée). numbers.sort(function sortAsc(a, b) { // (1) return a – b; }); numbers.sort((a, b) => b – a); // (2) (function(){})(); // (3) function outer() { // (4) function inner() {} return inner; } (function() {} ()); // (5) (() => "Yoshi")(); // (6)

    (1) => expression (2) => fléchée (3) => expression (4) => déclaration (both) (5) => expression (6) => fléchée

  3. Après l'exécution du code suivant, quelles sont les valeurs des variables samurai et ninja ? var samurai = (() => "Tomoe")(); var ninja = (() => {"Yoshi"})();

    samurai aura pour valeur "Tomoe". ninja aura pour valeur undefined.

  4. Dans le corps de la fonction de test, quelles sont les valeurs des paramètres a, b et c pour les deux appels de fonction ? function test(a, b, ...c) { /*a, b, c*/} test(1, 2, 3, 4, 5); test();

    1er appel: a vaut 1, b vaut 2, c vaut [3, 4, 5]. 2e appel: a et b valent undefined tandis que c vaut [ ].

  5. Après l'exécution du code suivant, quelles sont les valeurs des variables message1 et message2 ? function getNinjaWieldingWeapon(ninja, weapon = "katana"){ return ninja + " " + katana; } var message1 = getNinjaWieldingWeapon("Yoshi"); var message2 = getNinjaWieldingWeapon("Yoshi", "wakizashi");

    message1 vaut: "Yoshi katana". message2 vaut: "Yoshi wakizashi".

  6. asdasd

    qwdqwd