Maison > interface Web > js tutoriel > Comment rédiger des expressions de conditions JavaScript plus rapides

Comment rédiger des expressions de conditions JavaScript plus rapides

尊渡假赌尊渡假赌尊渡假赌
Libérer: 2025-03-10 00:32:12
original
905 Les gens l'ont consulté

How to Write Faster JavaScript Condition Expressions

Comment rédiger des expressions de conditions JavaScript plus rapides

Il existe une fonction d'optimisation intéressante dans JavaScript qui ne s'applique pas nécessairement dans d'autres langues. Considérez l'échantillon de code suivant:
var x = 10;
var y = true;

if (x*x > 1000 || y) alert("true!");
Copier après la connexion
Comme vous vous en doutez, «vrai» est sorti parce que y est vrai - même si la première condition échoue. Les interprètes JavaScript analysent chaque condition en séquence. Si nous changions x à 100, x * x serait supérieur à 1000 et évaluerait à vrai. Mais, parce que nous utilisons un logique ou (||), l'interprète n'a jamais besoin d'analyser - l'expression doit être vraie, donc l'alerte est affichée. Par conséquent, nous pouvons optimiser les expressions pour garantir que ceux qui nécessitent le moins de traitement sont analysés en premier, c'est-à-dire
if (y || x*x > 1000) alert("true!");
Copier après la connexion
Si y est vrai, l'interprète n'aura jamais besoin d'évaluer la deuxième condition. Cela pourrait gagner un temps considérable, surtout si nous appelions une fonction, effectuant des calculs intensifs ou analysant le DOM. La même optimisation s'applique à la logique et (&&). Dans ce cas, la première expression qui évalue à False rend la condition entière fausse - aucun traitement supplémentaire n'est requis.

Affectations dans les conditions

James Edwards a récemment écrit la cession d'article dans une condition où il a discuté du code tel que…
if (summary = document.getElementById("post-summary")) {
	alert(summary.innerHTML);
}
Copier après la connexion
Le résumé La variable est définie sur l'élément HTML avec un ID de «Post-Summary». Si l'élément existe, la condition évalue à True et l'alerte apparaît. Si un élément ne peut être trouvé, la condition évalue à FALSE et aucun du code conditionnel n'est exécuté. C'est une technique utile bien que, selon les commentaires, peu de développeurs aimaient cette pratique car il rend JavaScript plus difficile à lire et à déboguer. Cependant, il y a un autre problème - avec 2 conditions ou plus, votre affectation peut ne jamais s'exécuter. Par exemple:
if (x || y = functionY()) {
	alert(y);
}
Copier après la connexion
Si X évalue TRUE, l'interprète n'attribue jamais de valeur à Y et l'alerte lancera toujours une erreur. Nous pourrions le réparer en inversant les conditions pour que y soit toujours évalué, par ex.
if (y = functionY() || x) …
Copier après la connexion
Même alors, cela pourrait encore provoquer une confusion car il n'est pas évident que l'ordre de ces conditions est essentiel. Un développeur qui a lu la moitié supérieure de cet article pourrait même tenter d'optimiser le code en évaluant X en premier! En résumé, si vous souhaitez utiliser des affectations dans des conditions, allez-y - mais soyez absolument sûr que c'est la seule condition dont vous aurez besoin!

Les questions fréquemment posées sur les expressions de conditions JavaScript plus rapides

Qu'est-ce qu'une expression conditionnelle JavaScript?

Une expression conditionnelle JavaScript, également connue sous le nom d'opérateur ternaire, est un type d'opérateur qui prend trois opérandes. C’est une façon d’écriture de sténographie d’une déclaration IF-Else. Il est structuré comme suit: Condition? Value_if_true: valeur_if_false. La condition est évaluée en premier. Si c'est vrai, l'expression renvoie la valeur_if_true. S'il est faux, il renvoie la valeur_if_false.

Comment JavaScript évalue-t-il les opérateurs logiques et (&&) et (||)?

JavaScript utilise une évaluation de court-circuit pour les opérateurs logiques et (&&) et ou (||). Pour l'opérateur et, si le premier opérande est faux, JavaScript n'évalue pas le deuxième opérande et renvoie le premier opérande. Pour l'opérateur OR, si le premier opérande est vrai, JavaScript n'évalue pas le deuxième opérande et renvoie le premier opérande.

Comment puis-je utiliser plusieurs opérateurs JavaScript pour comparer les valeurs?

javascrip que), = (supérieur à ou égal à), et

Quelle est la différence entre == et === dans JavaScript?

L'opérateur == vérifie l'égalité des valeurs mais pas le type. Ainsi, «5» == 5 reviendra vrai. D'un autre côté, l'opérateur === vérifie à la fois l'égalité des valeurs et le type. Donc, «5» === 5 reviendra faux car l'un est une chaîne et l'autre est un nombre.

Comment puis-je utiliser des instructions if-else dans JavaScript?

Les instructions IF-Else dans JavaScript sont utilisées pour effectuer différentes actions en fonction de différentes conditions. La syntaxe est la suivante:
if (condition) {
// code à exécuter si la condition est vraie
} else {
// code à exécuter si la condition est fausse
}
Vous pouvez également utiliser autrement si spécifier une nouvelle condition. JavaScript?

L'opérateur logique non (!) Dans JavaScript est utilisé pour inverser le résultat booléen d'une condition. Par exemple, si une condition est vraie, la condition retournera fausse, et vice versa.

Puis-je utiliser des opérateurs ternaires pour plusieurs conditions en JavaScript?

Oui, vous pouvez nicher les opérateurs ternaires pour gérer plusieurs conditions en javascript. Cependant, il est important de noter que les opérateurs ternaires imbriqués peuvent rendre votre code plus difficile à lire et à comprendre, ils doivent donc être utilisés avec parcimonie.

Comment puis-je utiliser les instructions Switch dans JavaScript?

Une instruction Switch dans JavaScript est utilisée pour effectuer des actions différentes en fonction de différentes conditions. C’est un moyen plus efficace d’écrire plusieurs autres conditions. La syntaxe est la suivante:

commutateur (expression) {

case x:
// Block de code
casser;
case y:
// Block de code
casser;
par défaut:
// Bloc de code
}
l'expression de l'interrupteur est évaluée une fois, et sa valeur est comparée avec les valeurs de chaque cas. S'il y a une correspondance, le bloc de code correspondant est exécuté.

Quelle est la différence entre null et non défini dans JavaScript?

Dans JavaScript, null est une valeur d'affectation qui signifie aucune valeur ou aucun objet. C’est une absence intentionnelle de toute valeur d’objet. D'un autre côté, un non-défini signifie qu'une variable a été déclarée mais n'a pas encore été attribuée de valeur.

Comment puis-je utiliser les conditions JavaScript pour vérifier si une variable est définie?

Vous pouvez utiliser le type d'opérateur dans une expression conditionnelle pour vérifier si une variable est définie dans JavaScript. Si la variable n'est pas définie, le typeof retournera «non défini». Voici un exemple:
if (typeof myvar! == "Undefined") {
// myvar est défini
} else {
// myvar n'est pas défini
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal