Maison  >  Article  >  interface Web  >  Explication détaillée des caractéristiques et exemples d'utilisation des trois expressions conditionnelles en Javascript

Explication détaillée des caractéristiques et exemples d'utilisation des trois expressions conditionnelles en Javascript

伊谢尔伦
伊谢尔伦original
2017-07-18 13:55:231468parcourir

Les caractéristiques et utilisations des trois expressions conditionnelles sont résumées et brièvement décrites comme suit :

if...else Structure <.>


// Set r to 0 or 1 
var r= Math.floor(2*Math.random()) 
// Set a, b and c to "small" if r==0 an else set them to "big" 
// using three different techniques 
// Method 1: If else 
var a; if (r==0){a = "small"} else {a = "big"}; 
// Method 2: Conditional operator 
var b = r==0 ? "small" : "big"; 
 
// Method 3: And/or operators 
var c = r==0 && "small" || "big"; 
// Check the values of our variables 
alert(r+" "+a+" "+b+" "+c);

2 si...sinon si...sinon structure


// Set r to 0,1,2 or 3 
var r= Math.floor(4*Math.random())  
// Set a, b and c to "nada","small","big" and "huge" 
// depending on the value or r using three different techniques 
// Method 1: If.. else if... else 
var a; 
if (r==0){a="nada"} 
else if (r==1){a="small"} 
else if (r==2){a="big"} 
else {a="huge"}; 
// Method 2: Conditional operators 
var b = 
r==0 ? "nada" 
: r==1 ? "small" 
: r==2 ? "big" 
: "huge";  
// Method 3: And/or operators 
var c = 
r==0 && "nada" 
|| r==1 && "small" 
|| r==2 && "big" 
|| "huge";  
// Check the values of our variables 
alert(r+" "+a+" "+b+" "+c);

3. Exécuter la fonction


// Set r to 0,1,2 or 3 
var r= Math.floor(4*Math.random()) 

// The global variable x and our four functions 
var x=""; 
nada=function(){x+="Nada! "}; 
small=function(){x+="Small! "}; 
big=function(){x+="Big! "}; 
huge=function(){x+="Huge! "}; 
// Call a specific function depending on the value of r 
// using three different techniques  
// Method 1: If.. else if... else 
if (r==0){nada()} 
else if (r==1){small()} 
else if (r==2){big()} 
else {huge()};  
// Method 2: Conditional operators 
r==0 ? nada() 
: r==1 ? small() 
: r==2 ? big() 
: huge(); 
// Method 3: And/or operators 
r==0 && (nada() || true) //nada()函数不一定返回true,为了保证后续的逻辑或||判断不被执行,需要返回true值,下同
|| r==1 && (small() || true) 
|| r==2 && (big() || true) 
|| huge();  
// Check the values of our variables 
alert(r+" "+x);

4. Code d'exécution


// Set r to 0,1,2 or 3 
var r= Math.floor(4*Math.random())  
// The global variable x 
var x=""; 
// Executing different code depending on the value of r 
// using three different techniques  
// Method 1: If.. else if... else 
if (r==0){x+="Nada! "} 
else if (r==1){x+="Small! "} 
else if (r==2){x+="Big! "} 
else {x+="Huge! "}; 
// Method 2: Conditional operators 
r==0 ? function(){x+="Nada! "}() 
: r==1 ? function(){x+="Small! "}() 
: r==2 ? function(){x+="Big! "}() 
: function(){x+="Huge! "}(); 
// Method 3: And/or operators 
r==0 && (function(){x+="Nada! "}() || true) 
//有人在评论中指出这里的匿名函数是不必需的,在只有一条可执行代码时是这样的,但是如果有多条代码需要执行,匿名函数还是不错的
|| r==1 && (function(){x+="Small! "}() || true) 
|| r==2 && (function(){x+="Big! "}() || true) 
|| function(){x+="Huge! "}();  
// Check the values of our variables 
alert(r+" "+x);

Dans le jugement où il n'y a que deux conditions, utilisez if. ..else ou ?: sont assez simples, tandis que les opérations de && et || sont un peu plus compliquées. Mais en fait, tant que vous comprenez les deux principes de base suivants, tous les problèmes seront facilement résolus :

Premièrement, lors de l'utilisation des opérateurs logiques AND && et OR logiques || , la direction Ils sont tous de gauche à droite. L'opération && s'arrête lorsqu'elle atteint la première condition dont la valeur est fausse (ou une valeur qui peut être convertie en fausse, telle que null/undefined/0/""/NaN, etc. .), et l'opération atteint la première condition s'arrête lorsqu'une condition dont la valeur est vraie (ou une valeur convertible en vraie) ; la valeur renvoyée par la condition entière est la valeur de la dernière condition détectée, pas nécessairement juste vraie/faux) ;

Deuxièmement, l'opérateur logique AND && a une priorité plus élevée que l'opérateur logique OR.

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:
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