>  기사  >  웹 프론트엔드  >  || JavaScript의 && 사용법(자세한 설명)

|| JavaScript의 && 사용법(자세한 설명)

青灯夜游
青灯夜游앞으로
2018-10-08 14:49:502205검색

&& 및 ||는 특히 JQuery 소스 코드에서 널리 사용됩니다. 인터넷에서 몇 가지 예를 참조하여 사용법을 연구했습니다.

&&

function a(){
    alert("a");
    return true;
}
function b(){
    alert("b");
    return true;
}
var c=a()&&b();
alert(c);

a() && b() : 실행되는 경우 a()가 실행된 후 true가 반환되고, b()가 실행되고 b의 값이 반환됩니다. a()가 실행된 후 false가 반환되면 전체 표현식이 a()의 값을 반환하고 b()는 실행되지 않습니다. ;

||

function a(){
    alert("a");
    return true;
}
function b(){
    alert("b");
    return false;
}
var c=a()||b();
alert(c);

a() || b() : a()를 실행한 후 true가 반환되면 전체 표현식은 a()의 값을 반환하고 b()는 실행되지 않습니다. a()를 실행한 후 false가 반환되면 b()를 실행하고 b() 값을 반환합니다.

&&는 ||

alert((1 && 3 || 0) &&보다 우선순위가 높습니다. 4); //결과 4 ①
alert(1 && 3 || 0 && 4) //결과 3 ②
alert(0 && 3 || 1 && 4) //결과 4 ③

분석:
①: 1&&3 Return 3 => 3 || 0 Return 3 => 3&&4 return 4
명령문 ②: 1&&3을 먼저 실행하고 3을 반환한 다음 0&&4를 실행하고 0을 반환합니다. 마지막으로 실행 결과를 3||0과 비교합니다. return 3
명령문 ③: 0&&3을 먼저 실행하고 0을 반환한 다음 1&&4를 실행하고 4를 반환합니다. 마지막으로 실행 결과는 0||4와 비교하여 4를 반환합니다

참고: 0이 아닌 모든 정수는 true이고, 정의되지 않은 경우 null입니다. 빈 문자열 ""은 거짓입니다.

자바스크립트에서 &&는 부울 유형에만 사용될 수 없으며, 부울 유형의 결과만 반환할 수도 없습니다.
l 첫 번째 피연산자가 부울 유형이고 값이 false인 경우 false를 직접 반환합니다.
l 첫 번째 피연산자가 부울 유형이고 값이 true이고 다른 피연산자가 object 유형인 경우 이 객체가 반환됩니다.
l 두 피연산자가 모두 객체 유형이면 두 번째 객체가 반환됩니다.
l 피연산자가 null이면 null이 반환됩니다.
l 피연산자가 NaN이면 NaN을 반환합니다.
l 정의되지 않은 피연산자가 있으면 정의되지 않은 것이 반환됩니다.

alert(false && alice); // false 
alert(true && alice); // alice 
alert(alice && smith); // smith 
alert(smith && alice); // alice 
alert(null && alice); // null 
alert(NaN && alice); // NaN 
alert(undefined && alice); // undefined 
alert(alice && undefined); // undefined

||의 경우에도 Boolean 유형에만 사용되는 것이 아니고 Boolean 유형의 결과만 반환하는 것도 아닙니다.

실제로 null, undefine, NaN은 false로 처리됩니다. 그리고 그 객체는 참으로 취급됩니다.

l 첫 번째 피연산자가 부울 유형이고 값이 true이면 true를 직접 반환합니다.
l 첫 번째 피연산자가 부울 유형이고 값이 false이고 두 번째 피연산자가 객체이면 객체 객체가 반환됩니다.
l 두 피연산자가 모두 객체 유형이면 첫 번째 객체가 반환됩니다.
l 두 피연산자가 모두 null이면 null이 반환됩니다.
l 두 피연산자가 모두 NaN이면 NaN을 반환합니다.
l 두 피연산자가 모두 정의되지 않은 경우 정의되지 않은 값이 반환됩니다.

alert(false || alice);     // alice
alert(true || alice);     // true
alert(alice || smith);     // alice
alert(smith || alice);     // smith
alert(null || alice);     // alice
alert(alice || null);     // alice
alert(null || null);     // null
alert(NaN || alice);      // alice
alert(alice || NaN);      // alice
alert(NaN || NaN);       // NaN
alert(undefined || alice);   // alice
alert(alice || undefined);   // alice
alert(undefined || undefined); // undefined

너무 복잡하게 만들 필요는 없습니다. 모두가 이 부분의 설명을 읽어 보시기 바랍니다.

a && b: a, b를 부울 유형으로 변환한 다음 논리 AND를 수행하고, true는 b를 반환하고, false는 a를 반환합니다.
a || b: a, b를 부울 유형으로 변환한 후 논리를 수행합니다. true는 a를 반환하고 false는 b를 반환합니다.

변환 규칙:
객체는 true입니다.
0이 아닌 숫자는 true입니다.
비어 있지 않은 문자열은 true입니다.
기타 are false

위 내용은 이 장의 전체 내용입니다. 더 많은 관련 튜토리얼을 보려면 JavaScript 비디오 튜토리얼을 방문하세요.

위 내용은 || JavaScript의 && 사용법(자세한 설명)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제