어떻게 삼항 연산자 작업을 이해하기 위해 노력하고있어 나는 예를 건너 왔어요 :이상한 삼항 연산자 자바 스크립트
이b.d >= mystr.length && (function1(b, a), a=0);
& &은 무엇을 의미합니까? AND 연산자처럼 사용됩니까? 이것이 정규 진술로 어떻게 변환됩니까? a = 0 이전의 혼수 상태는 무엇을 의미합니까? 감사!
어떻게 삼항 연산자 작업을 이해하기 위해 노력하고있어 나는 예를 건너 왔어요 :이상한 삼항 연산자 자바 스크립트
이b.d >= mystr.length && (function1(b, a), a=0);
& &은 무엇을 의미합니까? AND 연산자처럼 사용됩니까? 이것이 정규 진술로 어떻게 변환됩니까? a = 0 이전의 혼수 상태는 무엇을 의미합니까? 감사!
&&
은 AND 연산자입니다. 왼쪽이 true이면 오른쪽을 평가합니다 (반환). ,
은 쉼표 연산자입니다. 쉼표 연산자는 왼쪽에서 오른쪽으로 반환하고 오른쪽에서 반환합니다. 따라서이 코드는 다음과 같은 :
if (b.d>=mystr.lengh) {
function1(b,a);
a=0;
}
(제외 당신의 코드를 반환 0)
(내 모국어가 어쩌면 내가 틀렸다, C
,하지만 내가 생각하는 그런이 경우, 자바 스크립트 작업 C)
&&
연산자는 논리 AND 연산자입니다. 왼쪽에서 오른쪽으로 표현식을 평가하고 첫 번째 거짓 값 또는 마지막 표현식의 값을 반환합니다.
마지막 표현식에 도달하면 그 값을 반환합니다. 그래서
:
var x = (1 < 2) && (4 > 3) && 'fred';
세트 X 반면, "프레드"다음
var y = (1 < 2) && 0 && 'fred';
세트 Y0
한다.
그건 삼자가 아닙니다. 또한
해당 그룹핑 연산자 내부 콤마 기본적 기가 항상 예 항상 falsy 인 (FALSE 또는 0 중 어느 하나를 평가하는 것으로 0
이다 마지막 표현식 a=0
의 값을 반환하는 것을 보장).
편집
:if (a > b){
functionIfTrue();
} else {
functionIfFalse();
}
감사합니다. 정상적인 진술처럼 보이게 보여 주시겠습니까? "> ="은 무엇을 의미합니까? 삼중 연산자가 아닌가요? 어떤 조건에서 함수가 호출됩니까? – user1015551
'> = '는 "보다 크거나 같음"을 의미합니다. 삼항 연산자는 if/else 문을 작성하는 간단한 방법입니다. 이 경우,'function1'은'mystr.length'가'b.d'의 값보다 작은 경우에만 호출 될 것입니다. 'mystr.length'가'b보다 작지 않은 경우.d' 다음에'&&'다음에 오는 나머지 부분은 중요하지 않으므로 평가되지 않습니다. –
이것은 삼항 연산자되지 않습니다 :에
그것은 논리적으로 동일하다 : 완성도를 위해서
는 여기 삼항 연산자입니다. –
&&는 여러 언어로 쓰여 있기 때문에 AND입니다. 그러나 또한, http://stackoverflow.com/q/8916679/422184 – Ktash
의 사본 이것은 말도 안되게 읽을 수없는 코드입니다. 누가 그런 식의 코드를 작성합니까? ಠ_ಠ –