2017-02-12 1 views
-4
if (!check1() || !check2()) { 
    return 
} 

check1()과 check2()를 함께 실행하려면 check1()에서 멈추지 말고 결과에 의존하지 마십시오.javascript의 if 문에서 두 조건을 동시에 확인하십시오.

+0

더 정교한! –

+0

할 일에 대해 자세히 설명해 주실 수 있습니까? 'check1()'에 의존하기를 원하지 않는다면'if (! check2())'를 사용하십시오. – Phil

+2

'check1()'을 실행하고 싶지만 그 결과를 사용하지 않으시겠습니까? 당신이 묻고있는 것이 명확하지 않습니다. – David

답변

4

두 검사를 실행하고 반환 값을 변수에 유지하면 두 검사가 모두 실행되도록 보장됩니다.

var check1 = check1(); 
var check2 = check2(); 

if (! check1 || ! check2) { 
    // ... 
} 
+1

이것은 맞습니다. 왜 2 개의 downvotes가 있었는지 이해가 안됩니다. –

+2

기술적으로는 올바르지 만, * check *를 수행한다고 주장하는 메소드는 메소드를 실행해야하는 부수적 인 책임이 있어서는 안된다는 경고를 받아야합니다. – Filburt

0

나는 이유는 모르겠지만, 힘으로 ','조건에 의한 경우 함수를 호출 : 당신은 다음과 같이 당신의 if 상태에서 결과를 사용할 수 있습니다

var b1 , b2 ; 
if ((b1=!check1() , b2 = !check2() , b1 || b2)) { 
    return 
} 
/*// or 
If (!((check1() && true) && (check2() && true))){ 
    return 
}*/ 
관련 문제