QCMUP.COM

Liste QCM JavaScript Corrigé – Partie 4

Entraînez-vous avec des questions corrigées, progressez étape par étape, puis consolidez vos notions grâce aux définitions et explications.

30 questions Réponses expliquées Réviser → Pratiquer
Liste QCM JavaScript Corrigé – Partie 4 – JavaScript

Bienvenue dans ce module essentiel consacré à l'un des piliers fondamentaux du développement web : les fonctions.

Si vous apprenez la programmation, vous avez sans doute remarqué que copier-coller le même bloc de code devient vite un cauchemar pour la maintenance.

C'est ici qu'interviennent les fonctions, véritables briques logiques qui permettent de structurer vos applications de manière professionnelle.

Maîtriser ce domaine est crucial pour réussir vos examens, concours ou certifications techniques, car il évalue votre capacité à organiser un raisonnement complexe.

Nous allons explorer ensemble comment déclarer des blocs réutilisables, manipuler des paramètres et gérer la visibilité des variables à travers le concept de portée.

Nous aborderons également des notions plus modernes comme les syntaxes raccourcies et les fonctions transmises en tant qu'arguments.

En tant que formateur, je vous guiderai pour transformer votre code répétitif en un script élégant, modulaire et conforme aux meilleures pratiques du secteur.

Bienvenue dans ce module essentiel consacré à l'un des piliers fondamentaux du développement web : les fonctions.

Si vous apprenez la programmation, vous avez sans doute remarqué que copier-coller le même bloc de code devient vite un cauchemar pour la maintenance.

C'est ici qu'interviennent les fonctions, véritables briques logiques qui permettent de structurer vos applications de manière professionnelle.

Maîtriser ce domaine est crucial pour réussir vos examens, concours ou certifications techniques, car il évalue votre capacité à organiser un raisonnement complexe.

Nous allons explorer ensemble comment déclarer des blocs réutilisables, manipuler des paramètres et gérer la visibilité des variables à travers le concept de portée.

Nous aborderons également des notions plus modernes comme les syntaxes raccourcies et les fonctions transmises en tant qu'arguments.

En tant que formateur, je vous guiderai pour transformer votre code répétitif en un script élégant, modulaire et conforme aux meilleures pratiques du secteur.

QCM 1 Corrigé

Quelle est la syntaxe correcte pour déclarer une fonction nommée 'calculer' ?

A. function:calculer() {}
B. function calculer() {}
C. def calculer() {}
D. calculer() = function {}
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
En JavaScript, on utilise le mot-clé 'function' suivi du nom de la fonction et de parenthèses.

QCM 2 Corrigé

Comment appelle-t-on les variables listées dans la définition d'une fonction ?

A. Les paramètres
B. Les arguments
C. Les itérateurs
D. Les attributs
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Les paramètres sont les noms définis dans la fonction, tandis que les arguments sont les valeurs réelles passées lors de l'appel.

QCM 3 Corrigé

Quel mot-clé permet de renvoyer une valeur depuis une fonction ?

A. send
B. output
C. return
D. break
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
L'instruction 'return' met fin à l'exécution de la fonction et définit la valeur à renvoyer au code appelant.

QCM 4 Corrigé

Laquelle de ces syntaxes représente une fonction fléchée (arrow function) valide ?

A. () => {}
B. function => {}
C. () -> {}
D. arrow () {}
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Les fonctions fléchées utilisent le symbole '=>' (égal suivi de supérieur) pour lier les paramètres au corps du code.

QCM 5 Corrigé

Où est accessible une variable déclarée avec 'let' à l'intérieur d'une fonction ?

A. Partout dans le fichier
B. Seulement dans les fonctions parentes
C. Partout dans le script après l'appel
D. Uniquement dans le bloc de cette fonction
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
Les variables déclarées dans une fonction ont une portée locale (scope) limitée à cette fonction ou au bloc courant.

QCM 6 Corrigé

Que se passe-t-il si vous appelez une fonction avant sa déclaration par le mot-clé 'function' ?

A. Une erreur fatale se produit
B. Le navigateur s'arrête
C. La fonction s'exécute normalement (Hoisting)
D. La fonction est ignorée
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Grâce au 'hoisting', les déclarations de fonctions classiques sont déplacées en haut de leur portée par l'interpréteur.

QCM 7 Corrigé

Comment définit-on une valeur par défaut pour un paramètre 'n' ?

A. function f(n = 10) {}
B. function f(n : 10) {}
C. function f(n?10) {}
D. function f(default n 10) {}
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
L'opérateur d'assignation '=' dans la liste des paramètres permet de spécifier une valeur si l'argument est omis lors de l'appel.

QCM 8 Corrigé

Quelle est la principale différence du mot-clé 'this' dans une fonction fléchée ?

A. Il ne peut pas être utilisé
B. Il garde la valeur du contexte parent
C. Il change à chaque seconde
D. Il devient toujours 'null'
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Contrairement aux fonctions classiques, les fonctions fléchées n'ont pas leur propre 'this' ; elles héritent de celui du scope lexical.

QCM 9 Corrigé

Qu'est-ce qu'une fonction anonyme ?

A. Une fonction qui n'a pas de nom
B. Une fonction cachée par un mot de passe
C. Une fonction qui ne renvoie rien
D. Une fonction utilisée par un seul utilisateur
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Une fonction anonyme est souvent utilisée comme argument (callback) ou assignée directement à une variable.

QCM 10 Corrigé

Que signifie le terme 'DRY' en programmation grâce aux fonctions ?

A. Do Repeat Yearly
B. Data Real Yield
C. Don't Repeat Yourself
D. Delete Redundant Yield
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Modulariser son code en fonctions permet d'éviter la répétition et facilite la maintenance future du projet.

QCM 11 Corrigé

Dans une fonction fléchée, quand peut-on omettre les parenthèses autour du paramètre ?

A. Jamais
B. Quand il y a exactement deux paramètres
C. Quand il n'y a pas de paramètre
D. Quand il y a exactement un seul paramètre
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
Si une fonction fléchée ne possède qu'un seul paramètre, les parenthèses sont facultatives : 'x => x * 2'.

QCM 12 Corrigé

Comment appelle-t-on une fonction qui est passée comme argument à une autre fonction ?

A. Un callstack
B. Un callback
C. Un fallback
D. Un rollforward
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Un callback est une fonction rappelée par une autre fonction pour effectuer une tâche asynchrone ou différée.

QCM 13 Corrigé

Quel est le résultat de : (function(){ return 5; })() ?

A. undefined
B. Une erreur de syntaxe
C. La définition de la fonction
D. 5
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
Il s'agit d'une IIFE (Expression de fonction invoquée immédiatement) qui s'exécute dès sa création.

QCM 14 Corrigé

Comment accède-t-on à tous les arguments passés à une fonction classique (sans les nommer) ?

A. L'objet arguments
B. Le tableau params
C. La variable list
D. L'objet input
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Les fonctions classiques disposent d'un objet local 'arguments' contenant toutes les valeurs passées lors de l'appel.

QCM 15 Corrigé

Quelle est la portée d'une variable déclarée avec 'var' dans une fonction ?

A. Limitée au bloc if/for
B. Limitée à la fonction entière
C. Globalement dans tout le site
D. Inexistante après l'exécution
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Contrairement à 'let', 'var' a une portée de fonction, ce qui peut causer des comportements inattendus dans des blocs imbriqués.

QCM 16 Corrigé

Que retourne une fonction qui ne contient pas d'instruction 'return' ?

A. null
B. 0
C. undefined
D. false
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
En l'absence de return explicite, JavaScript renvoie automatiquement 'undefined' à la fin de la fonction.

QCM 17 Corrigé

Comment s'appelle l'opérateur '...' placé devant le dernier paramètre d'une fonction ?

A. Opérateur de reste (Rest parameter)
B. Opérateur de division
C. Opérateur de répétition
D. Opérateur de liaison
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
L'opérateur 'rest' permet de regrouper un nombre indéfini d'arguments dans un tableau unique.

QCM 18 Corrigé

Dans une fonction fléchée avec une seule instruction de retour, comment simplifier le code ?

A. Utiliser '=> return'
B. Enlever les accolades et le mot-clé 'return'
C. Mettre l'instruction entre crochets
D. Utiliser le mot-clé 'short'
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Une fonction fléchée peut avoir un retour implicite si elle ne contient qu'une seule expression sans accolades.

QCM 19 Corrigé

Peut-on déclarer une fonction à l'intérieur d'une autre fonction ?

A. Non, c'est impossible
B. Seulement avec les fonctions fléchées
C. Oui, c'est ce qu'on appelle l'imbrication
D. Uniquement dans le mode strict
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
L'imbrication de fonctions permet de créer des 'fermetures' (closures) et de mieux structurer la logique.

QCM 20 Corrigé

Que se passe-t-il si vous passez plus d'arguments qu'il n'y a de paramètres définis ?

A. Le script plante avec une erreur
B. Les arguments supplémentaires sont ignorés (sauf usage d'arguments/rest)
C. La fonction s'exécute deux fois
D. Les arguments sont concaténés au premier paramètre
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
JavaScript n'impose pas de correspondance stricte entre le nombre d'arguments et de paramètres lors de l'appel.

QCM 21 Corrigé

Comment appelle-t-on une fonction qui s'appelle elle-même ?

A. Une fonction itérative
B. Une fonction cyclique
C. Une fonction miroir
D. Une fonction récursive
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
La récursivité est une technique où une fonction résout un problème en s'appelant avec des données simplifiées.

QCM 22 Corrigé

Quel symbole est utilisé pour séparer plusieurs paramètres dans une fonction ?

A. La virgule
B. Le point-virgule
C. Le double point
D. L'espace
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Comme pour les éléments d'un tableau, les paramètres et les arguments sont séparés par des virgules.

QCM 23 Corrigé

Lequel de ces noms de fonction respecte la convention camelCase ?

A. calculer_somme
B. CalculerSomme
C. calculerSomme
D. calculersomme
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Le camelCase commence par une minuscule et met une majuscule à chaque mot suivant pour améliorer la lisibilité.

QCM 24 Corrigé

Pourquoi est-il risqué d'utiliser trop de variables globales ?

A. Cela ralentit le processeur
B. Elles peuvent être modifiées par erreur n'importe où
C. Elles utilisent trop de mémoire vive
D. Le navigateur les supprime automatiquement
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
La pollution de l'espace global augmente les risques de conflits de noms et de bugs difficiles à tracer.

QCM 25 Corrigé

Quel est le rôle du mot-clé 'export' devant une fonction ?

A. L'afficher dans la console
B. La sauvegarder dans une base de données
C. La rendre disponible pour d'autres fichiers (modules)
D. La rendre prioritaire sur les autres fonctions
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
L'exportation permet de partager des fonctions entre différents modules pour une meilleure organisation du projet.

QCM 26 Corrigé

Que permet de faire l'objet 'Math' combiné à une fonction ?

A. Créer des interfaces graphiques
B. Effectuer des opérations mathématiques complexes
C. Gérer les connexions réseau
D. Modifier le style CSS
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
L'objet 'Math' fournit des méthodes comme 'random()', 'floor()' ou 'sqrt()' utilisables au sein de vos fonctions.

QCM 27 Corrigé

Dans une fonction, quelle est la portée de 'const' ?

A. Portée de bloc (comme let)
B. Portée globale uniquement
C. Portée de fichier
D. Portée de serveur
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
'const' respecte la portée de bloc et ne peut pas être réassigné après sa création.

QCM 28 Corrigé

Comment appelle-t-on le fait de décomposer une grosse fonction en plusieurs petites ?

A. La refactorisation
B. La défragmentation
C. La compilation
D. L'indexation
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Refactoriser permet d'améliorer la structure et la clarté du code sans changer son comportement extérieur.

QCM 29 Corrigé

Quelle méthode permet d'exécuter une fonction après un certain délai (en millisecondes) ?

A. wait()
B. pause()
C. delay()
D. setTimeout()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
setTimeout est une fonction globale qui prend un callback et une durée pour différer une exécution.

QCM 30 Corrigé

Le mode strict ('use strict') impacte-t-il les fonctions ?

A. Non, jamais
B. Seulement les fonctions mathématiques
C. Oui, il empêche par exemple l'usage de variables non déclarées
D. Seulement le nom des paramètres
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Le mode strict impose une syntaxe plus rigoureuse et sécurisée, évitant les erreurs silencieuses.

Mots & Définitions
Consultez les définitions des termes importants.

C'est un bloc de code réutilisable conçu pour accomplir une tâche spécifique. Elle permet de structurer un programme en unités logiques, évitant ainsi la répétition et facilitant la maintenance du code.

Il s'agit d'une variable nommée définie dans la déclaration d'une fonction pour recevoir une donnée. Il agit comme un emplacement réservé qui attend une valeur réelle lors de l'exécution.

C'est la valeur concrète transmise à une fonction lors de son appel. Cette donnée vient remplir le paramètre correspondant pour que la fonction puisse effectuer ses calculs ou ses actions.

Cette commande permet à une fonction de renvoyer un résultat au code qui l'a appelée. Elle marque également la fin immédiate de l'exécution de la fonction.

Ce concept définit la zone d'accessibilité d'une variable dans le code. Une variable peut être locale (limitée à l'intérieur d'une fonction) ou globale (accessible partout dans le script).

Il s'agit d'une syntaxe moderne et concise pour écrire des fonctions en utilisant le symbole '=>'. Elle est particulièrement appréciée pour sa clarté et sa gestion simplifiée du contexte de l'objet appelant.

C'est une fonction que l'on passe en argument à une autre fonction pour qu'elle soit exécutée plus tard. On l'utilise souvent pour gérer des actions qui prennent du temps, comme le chargement d'une page ou un délai d'attente.

C'est un comportement du langage qui déplace virtuellement les déclarations de fonctions en haut de leur contexte avant l'exécution. Cela permet d'appeler une fonction dans le code avant même la ligne où elle est définie.

Il s'agit d'une technique de programmation où une fonction s'appelle elle-même pour résoudre un problème. Elle est très utile pour traiter des structures de données complexes ou des calculs mathématiques répétitifs.

C'est l'action d'améliorer la structure interne d'un code sans modifier son comportement final. On l'utilise souvent pour rendre un script plus lisible, plus court et plus efficace.

C'est une valeur attribuée automatiquement à un paramètre si aucun argument n'est fourni lors de l'appel. Cela sécurise la fonction en évitant des erreurs liées à des données manquantes.

C'est une fonction qui s'exécute d'elle-même immédiatement après avoir été définie. Elle est principalement utilisée pour isoler des variables et éviter de polluer l'espace de travail global du script.

Représenté par trois points '...', il permet de capturer un nombre indéfini d'arguments sous la forme d'un seul tableau. C'est l'outil idéal pour créer des fonctions très flexibles acceptant une quantité variable de données.

C'est un mécanisme qui permet à une fonction interne de se souvenir de l'environnement dans lequel elle a été créée. Elle peut ainsi continuer à accéder aux variables de sa fonction parente même après que celle-ci a fini de s'exécuter.

C'est le principe d'organisation consistant à diviser un programme en plusieurs fichiers ou modules indépendants. Chaque module contient ses propres fonctions qui peuvent être partagées pour construire une application plus robuste.

À propos de ce QCM

L'art de programmer repose sur la capacité à diviser un problème complexe en petites tâches simples et indépendantes.

Ce contenu pédagogique se concentre sur les mécanismes qui régissent la création et l'exécution de ces tâches, que l'on appelle des fonctions.

Le premier axe de compréhension concerne la structure et la transmission des données.

Nous analysons comment une fonction reçoit des informations de l'extérieur via les paramètres et comment elle communique un résultat en retour.

Vous découvrirez l'importance des valeurs par défaut qui sécurisent vos développements et l'usage d'opérateurs flexibles capables de traiter une quantité de données imprévue.

Un point d'honneur est mis sur la distinction entre la définition d'une fonction et son invocation réelle dans le temps.

Le second volet traite de l'organisation et de la performance.

Nous étudions les différentes façons de déclarer ces blocs, des méthodes classiques aux versions fléchées plus modernes, tout en expliquant l'impact de ces choix sur le contexte d'exécution.

Les notions de visibilité (scope) sont également centrales : savoir où une information naît et où elle s'arrête est indispensable pour éviter les bugs silencieux.

Nous introduisons également des concepts avancés comme la récursivité, où une tâche s'appelle elle-même, ou l'utilisation de fonctions "rappel" pour gérer des actions différées.

En vous exerçant sur ces thématiques, vous développerez une vision d'architecte logiciel.

Ces QCM ne sont pas de simples tests de mémoire, mais un entraînement ciblé pour renforcer votre logique algorithmique.

L'auto-évaluation vous permettra de repérer les pièges classiques liés au levage des déclarations ou aux exécutions immédiates.

En consolidant ces bases, vous vous préparez non seulement à vos examens, mais vous acquérez surtout la rigueur nécessaire pour construire des projets web durables et faciles à faire évoluer.

Conclusion

En conclusion, la maîtrise des fonctions marque le passage d'un codeur débutant à un développeur averti.

En comprenant comment isoler des tâches, gérer les retours de données et organiser la portée de vos variables, vous posez les bases d'un code propre et efficace.

Ces concepts sont universels et vous serviront bien au-delà de la simple syntaxe d'un langage spécifique.

Je vous encourage vivement à pratiquer régulièrement : essayez de décomposer vos scripts actuels en petites fonctions indépendantes.

C'est par cette habitude de refactorisation que vous consoliderez vos acquis et gagnerez en fluidité dans vos futurs projets professionnels.