2011-07-04 9 views
0
if(e.FN === ' ' && e.GN === ' ' && e.LN === ' ' && e.DB === ' '){ 

이 조건은 전혀 평가되지 않습니다. 이 방법은 모든 값이 null인지 확인하는 방법입니다.&& JavaScript의 연산자 우선 순위

+0

"조건이 평가되지 않는다"는 것은 무엇을 의미합니까? 그 말이 사실이라고 평가하지 않는다는 뜻입니까? if (! e.FN &&! e.GN &&! e.LN &&! e.DB) {...}' –

+0

@Aleks 그가 모든 피연산자를 평가하기를 원한다면, 싱글 & 일할 것입니다. if (e.FN === null & e.GN === null & e.LN === null & e.DB === null) 훨씬 더 읽기 쉽습니다. – Zoidberg

답변

2

은 지금 당신이 확인된다. ===는 값을 비교할뿐만 아니라 동일한 유형인지 확인합니다. 그러나 e.FN이 null이면 모두 e.FN == ' ' and e.FN === ' "은 항상 false를 반환합니다. 난 당신이 그들이 정의, null의 경우 상관 없어 0 모든 값이 당신 null의 경우 확인하려면

if(e.FN && e.GN && e.LN && e.DB) 
0

시도 : 그 값이 모든 공간에 동일한 경우

if(e.FN === null && e.GN === null && e.LN === null && e.DB === null){ 
0

할 수 있다면 당신이 원하는 것은,

if(e.FN === null && e.GN === null && e.LN === null && e.DB === null) 

또는 더 나은 생각 수행해야합니다

if(e.FN === null && e.GN === null && e.LN === null && e.DB === null){ 

을 첫 번째 값이 첫 번째 조건이 false 인 경우 모든 조건에 해당되는 것이 불가능하기 때문에, 다른 조건을 평가하지 않습니다 null이 자바 스크립트가 아닌 경우.