First-class functions pour les novices: définitions et arguments
6 flashcards · Programming Languages · by mxmock
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.
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
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.
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 [ ].
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".
asdasd
qwdqwd