2010-12-21 3 views

답변

10

사용 typeof :

if (typeof message !== 'undefined') 

그렇지 않으면 당신은 우리가 전에 피하려는 (alert를 실행의 if 표현에 alert(message)을 넣지 마십시오 message 유형) 및 반환 값 (undefinedbtw;))을 undefined과 비교합니다.

업데이트 !==위한 명확화 :

이 조작자가 두 개의 피연산자의 값을 비교하지만뿐만 아니라 . 이 곳 더 분명하다, 철저하고 일관되게 사용하는 경우 우리는 typeof는 항상 문자열을 반환한다는 것을 알고 있기 때문에 정말 필요하지 않습니다이 경우

42 == "42" // true 
42 === "42" // false 

하지만 좋은 연습과 : 그것은 더 type coercion이 수행되지 않습니다 의미 당신은 정말로 타입 강제 변환을 원한다.

+2

어떻게 Felix가! == 연산자 대신! == 연산자를 사용했는지 주목하십시오. Douglas Crockford는 여기 (그리고 다른 멋진 JS 사실들)를 다음에서 설명합니다 : http://video.yahoo.com/watch/630959/2974197 – danjah

관련 문제