Maison >interface Web >js tutoriel >Comment rédiger des expressions de conditions JavaScript plus rapides
var x = 10; var y = true; if (x*x > 1000 || y) alert("true!");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!");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.
if (summary = document.getElementById("post-summary")) { alert(summary.innerHTML); }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); }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) …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!
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.
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.
javascrip que), = (supérieur à ou égal à), et
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.
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?
Puis-je utiliser des opérateurs ternaires pour plusieurs conditions en JavaScript?
Comment puis-je utiliser les instructions Switch dans JavaScript?
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é.
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.
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!