논리와 (&&)에 대해 이야기 해 봅시다. 세 가지 수준에서 이해할 수 있습니다.
첫 번째 레벨은 가장 간단한 것입니다. 이는 단순 부울 값 사이의 논리적 합계입니다. lvalues와 rvalues가 모두 true 인 경우, 반환 true, 양쪽은 false 또는 값의 한쪽이 fasle, false를 반환합니다. (및 작전);
두 번째 레벨 (False, Null, Indefined, 0, -0, NAN 및 "" "" "모두 잘못된 값이며 객체를 포함한 다른 모든 값은 이러한"True 값 "및"False 값 "에 대한 수행 및 작업 및"True 값 "또는"False 값 "을 반환합니다.
(&&)는 항상 있었던 부울 가치를 반환하지 않는다는 점에 주목할 가치가 있습니다. 그것은 두 번째 레벨에 나타나는 실제 값 또는 거짓 값을 반환하지만 이러한 "진정한 값"과 "false value"는 무엇입니까? 따라서 세 번째 수준의 이해가 소개됩니다
이해의 세 번째 수준은 실제로 간단합니다. 명세서의 왼쪽 피연산자가 잘못된 값 인 경우, 명령문의 오른쪽 피연산자는 계산되지 않으며 왼쪽 피연산자는 표현식의 계산 결과로 직접 반환됩니다. 왼쪽 피연산자가 실제 값이면 오른쪽 피연산자의 값은 표현식의 계산 결과로 반환됩니다.
다음과 같이 예제 :
var o = {s : 1}; // 객체 생성 var p = null; // null o && o.s // return 1을 생성하십시오. O 여야하는 O.s는 진정한 값이므로 OS P && p.x // return null의 값을 반환합니다. px를 계산하지 말고 p <br> o && o.b의 값을 직접 반환하지 마십시오. // O는 유형 오류 예외가 발생합니다. O는 실제 값이므로 OB를 반환해야하지만 OB는 존재하지 않기 때문에.이것은 이해하기 쉽습니다
&&는 진실과 거짓 값을 반환하는 데 사용될 수 있지만 대부분의 경우 실제 값은 참이고 잘못된 값은 False입니다.
논리 또는 (||)에 대해 이야기하고, 한 예에서 배우고 다른 측면에 적용해 봅시다. 논리와 논리 또는 이와 유사한 세 가지 수준의 이해가 있으므로 자세히 쓰지 않을 것입니다.
논리와 가장 일반적인 방법은 대체 피연산자 그룹에서 진정한 값 표현식을 선택하는 것입니다.
예를 들어보세요
var min = min_value || sum.min_value || 100;
먼저 min_value를 찾으십시오. 정의되지 않은 경우 합계 객체를 살펴보십시오. 아직 그렇지 않은 경우 100의 죽은 값 만 할당 할 수 있습니다.
이 방법은 일반적으로 함수의 매개 변수에 대한 기본값을 설정하는 데 사용됩니다.
예를 들어보세요
함수 추가 (a, b) {b = b || 0; A+B를 반환합니다. }초기 값이 B로 설정되지 않으면 B는 0과 같습니다. ADD 함수는 a+0을 반환하며 a의 값입니다.
논리적 비 (!)
그의 목적은 예를 들어, 피연산자의 부울 값을 반대하는 것입니다. 예를 들어 : x가 true 값이라면! x는 false를 반환합니다.
부울 값을 반환 할 때, 이러한 진실과 거짓 값은 부울 값으로 변환 된 다음 반대입니다.
여기에 일종의 소개가 있습니다! 일반적인 사용법
때로는 변수가 존재하는지 확인하거나 값에 유효한 값이 있는지 확인한 다음 사용하십시오 !!,
예를 들어, 함수에서 반환 된 값이 유효한 값 인 경우, 사용하십시오 !! true를 반환하면 유효한 값입니다.
위의 기사는 논리적 표현의 사용과 사용에 대한 깊은 이해를 가지고 있으며 비 원래 표현식의 사용은 내가 공유 한 모든 컨텐츠입니다. 나는 당신이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.