>  기사  >  웹 프론트엔드  >  자바스크립트 3가지 조건식의 특징과 사용예를 자세히 설명합니다.

자바스크립트 3가지 조건식의 특징과 사용예를 자세히 설명합니다.

伊谢尔伦
伊谢尔伦원래의
2017-07-18 13:55:231516검색

세 가지 조건식의 특징과 용도를 요약하고 간략하게 설명하면 다음과 같습니다.

1.if...else 구조


// 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. else if...else 구조


// 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. 함수 실행


// 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. 코드 실행


// 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);

두가지 종류만 있어요 조건을 판단할 때 if...else 또는 ?:를 사용하는 것은 매우 간단하지만 && 및 ||의 연산 방법은 약간 복잡합니다. 하지만 실제로 다음 두 가지 기본 원칙만 이해하면 모든 문제는 쉽게 해결됩니다.

먼저, 논리 AND &&와 논리 OR || 연산자를 사용할 때 방향은 왼쪽에서 오른쪽, && 연산 값이 false인 첫 번째 조건(또는 null/undefine/0/""/NaN 등 false로 변환할 수 있는 값)이 발생하고 값이 true인 첫 번째 조건에 도달하면 연산이 중지됩니다( 또는 참 값으로 변환될 수 있는 값) 전체 조건에서 반환되는 값은 반드시 참/거짓일 필요는 없으며 마지막으로 감지된 조건의 값입니다.

두 번째로 논리 AND && 연산자는 논리 OR 연산자보다 우선순위가 높습니다.

위 내용은 자바스크립트 3가지 조건식의 특징과 사용예를 자세히 설명합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.