Paramètres par défaut de la fonction ECMAScript6_conseils javascript
Chaque nouvelle fonctionnalité ajoutée lors de la mise à jour du langage est extraite des besoins de millions de développeurs. L'adoption du standard peut réduire la douleur des programmeurs et apporter de la commodité.
On écrit souvent comme ça
function calc(x, y) { x = x || 0; y = y || 0; // to do with x, y // return x/y }
Pour faire simple, x et y fournissent une valeur par défaut de 0. Lorsqu'ils ne sont pas transmis, x et y sont calculés avec la valeur 0. Une fois passée, la valeur réelle sera utilisée pour le calcul.
Un autre exemple est la définition d'un ajax
function ajax(url, async, dataType) { async = async !== false dataType = dataType || 'JSON' // ... }
Une simple fonction ajax encapsulée avec du JS natif. L'url est obligatoire, async et dataType sont facultatifs. S'ils ne sont pas renseignés, la valeur par défaut est de demander et de renvoyer les données au format JSON de manière synchrone.
Un autre exemple consiste à définir une classe rectangle
function Rectangle(width, height) { this.width = width || 200; this.height = height || 300; }
Sans passer aucun paramètre lors de la création, un rectangle avec une largeur et une hauteur par défaut de 200*300 sera créé.
Qu'il s'agisse de calc, d'une fonction ajax ou d'une classe Rectangle, nous devons tous gérer la valeur par défaut dans le corps de la fonction. Ne serait-il pas bien si le langage la gère lui-même ? ES6 fournit cette fonctionnalité (paramètres par défaut). Les éléments suivants sont calc, ajax et Rectangle réécrits avec les nouvelles fonctionnalités d'ES6.
function calc(x=0, y=0) { // ... console.log(x, y) } calc(); // 0 0 calc(1, 4); // 1 4 function ajax(url, async=true, dataType="JSON") { // ... console.log(url, async, dataType) } ajax('../user.action'); // ../user.action true JSON ajax('../user.action', false); // ../user.action false JSON ajax('../user.action', false, 'XML'); // ../user.action false XML function Rectangle(width=200, height=300) { this.width = width; this.height = height; } var r1 = new Rectangle(); // 200*300的矩形 var r2 = new Rectangle(100); // 100*300的矩形 var r3 = new Rectangle(100, 500); // 100*500矩形
Comme vous pouvez le voir, ES6 a déplacé la partie valeur par défaut des accolades vers les parenthèses, et a également réduit l'opération "||", et le corps de la fonction a depuis été allégé. La valeur par défaut du paramètre doit être à l'endroit où le paramètre est défini, ce qui semble beaucoup plus simple. O(∩_∩)O
Les paramètres par défaut peuvent être définis à n'importe quelle position, par exemple en définissant un
au milieufunction ajax(url, async=true, success) { // ... console.log(url, async, success) }
définit un paramètre par défaut async, url et success sont requis. Dans ce cas, vous devez définir le paramètre du milieu sur non défini
.ajax('../user.action', undefined, function() { })
Remarque, ne le prenez pas pour acquis et remplacez undefined par null Même si null == undefined, après avoir passé null, l'async dans le corps de la fonction sera nul et faux.
Les points suivants doivent être notés :
1. Après avoir défini les paramètres par défaut, l'attribut de longueur de la fonction sera réduit, c'est-à-dire que plusieurs paramètres par défaut ne sont pas inclus dans le calcul de la longueur
function calc(x=0, y=0) { // ... console.log(x, y) } function ajax(url, async=true, dataType="JSON") { // ... console.log(url, async, dataType) } console.log(calc.length); // 0 console.log(ajax.length); // 1
2. Let et const ne peuvent pas être utilisés pour déclarer à nouveau la valeur par défaut, var peut être
function ajax(url="../user.action", async=true, success) { var url = ''; // 允许 let async = 3; // 报错 const success = function(){}; // 报错 }
Une autre chose intéressante est : le paramètre par défaut ne peut pas être un type valeur, il peut s'agir d'un appel de fonction
function getCallback() { return function() { // return code } } function ajax(url, async, success=getCallback()) { // ... console.log(url, async, success) }
Vous pouvez voir que le paramètre success est ici un appel de fonction. Si le troisième paramètre n'est pas passé lors de l'appel d'ajax, la fonction getCallback sera exécutée, qui renvoie une nouvelle fonction affectée au succès. Il s’agit d’une fonction très puissante qui laisse beaucoup de place à l’imagination des programmeurs.
Par exemple, vous pouvez utiliser cette fonctionnalité pour forcer la transmission d'un certain paramètre, sinon une erreur sera signalée
function throwIf() { throw new Error('少传了参数'); } function ajax(url=throwIf(), async=true, success) { return url; } ajax(); // Error: 少传了参数
Ce qui précède représente l’intégralité du contenu de cet article, j’espère que vous l’aimerez tous.

Différents moteurs JavaScript ont des effets différents lors de l'analyse et de l'exécution du code JavaScript, car les principes d'implémentation et les stratégies d'optimisation de chaque moteur diffèrent. 1. Analyse lexicale: convertir le code source en unité lexicale. 2. Analyse de la grammaire: générer un arbre de syntaxe abstrait. 3. Optimisation et compilation: générer du code machine via le compilateur JIT. 4. Exécuter: Exécutez le code machine. Le moteur V8 optimise grâce à une compilation instantanée et à une classe cachée, SpiderMonkey utilise un système d'inférence de type, résultant en différentes performances de performances sur le même code.

Les applications de JavaScript dans le monde réel incluent la programmation côté serveur, le développement des applications mobiles et le contrôle de l'Internet des objets: 1. La programmation côté serveur est réalisée via Node.js, adaptée au traitement de demande élevé simultané. 2. Le développement d'applications mobiles est effectué par le reactnatif et prend en charge le déploiement multiplateforme. 3. Utilisé pour le contrôle des périphériques IoT via la bibliothèque Johnny-Five, adapté à l'interaction matérielle.

J'ai construit une application SAAS multi-locataire fonctionnelle (une application EdTech) avec votre outil technologique quotidien et vous pouvez faire de même. Premièrement, qu'est-ce qu'une application SaaS multi-locataire? Les applications saas multi-locataires vous permettent de servir plusieurs clients à partir d'un chant

Cet article démontre l'intégration frontale avec un backend sécurisé par permis, construisant une application fonctionnelle EdTech SaaS en utilisant Next.js. Le frontend récupère les autorisations des utilisateurs pour contrôler la visibilité de l'interface utilisateur et garantit que les demandes d'API adhèrent à la base de rôles

JavaScript est le langage central du développement Web moderne et est largement utilisé pour sa diversité et sa flexibilité. 1) Développement frontal: construire des pages Web dynamiques et des applications à une seule page via les opérations DOM et les cadres modernes (tels que React, Vue.js, Angular). 2) Développement côté serveur: Node.js utilise un modèle d'E / S non bloquant pour gérer une concurrence élevée et des applications en temps réel. 3) Développement des applications mobiles et de bureau: le développement de la plate-forme multiplateuse est réalisé par réact noral et électron pour améliorer l'efficacité du développement.

Les dernières tendances de JavaScript incluent la montée en puissance de TypeScript, la popularité des frameworks et bibliothèques modernes et l'application de WebAssembly. Les prospects futurs couvrent des systèmes de type plus puissants, le développement du JavaScript côté serveur, l'expansion de l'intelligence artificielle et de l'apprentissage automatique, et le potentiel de l'informatique IoT et Edge.

JavaScript est la pierre angulaire du développement Web moderne, et ses principales fonctions incluent la programmation axée sur les événements, la génération de contenu dynamique et la programmation asynchrone. 1) La programmation axée sur les événements permet aux pages Web de changer dynamiquement en fonction des opérations utilisateur. 2) La génération de contenu dynamique permet d'ajuster le contenu de la page en fonction des conditions. 3) La programmation asynchrone garantit que l'interface utilisateur n'est pas bloquée. JavaScript est largement utilisé dans l'interaction Web, les applications à une page et le développement côté serveur, améliorant considérablement la flexibilité de l'expérience utilisateur et du développement multiplateforme.

Python est plus adapté à la science des données et à l'apprentissage automatique, tandis que JavaScript est plus adapté au développement frontal et complet. 1. Python est connu pour sa syntaxe concise et son écosystème de bibliothèque riche, et convient à l'analyse des données et au développement Web. 2. JavaScript est le cœur du développement frontal. Node.js prend en charge la programmation côté serveur et convient au développement complet.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

MinGW - GNU minimaliste pour Windows
Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

MantisBT
Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser