[javascript] jQuery에서 ‘정의되지 않은’값을 확인하는 방법

가능한 중복 :
JavaScript에서 정의되지 않은 객체 속성 감지
javascript undefined compare

다음과 같이 정의되지 않은 변수에 대한 검사를 추가하는 방법 :

function A(val) {
  if (val == undefined)
    // do this
  else
    // do this
}



답변

JQuery 라이브러리는 특정 JavaScript 기능을 단순화하고 통합하기 위해 특별히 개발되었습니다.

그러나 undefined값에 대해 변수를 확인 해야하는 경우 JavaScript에는 typeof단순하고 빠르며 크로스 플랫폼 인 연산자 가 있기 때문에 특별한 방법을 발명 할 필요가 없습니다 .

if (typeof value === "undefined") {
    // ...
}

변수 또는 평가되지 않은 다른 피연산자의 유형을 나타내는 문자열을 반환합니다. 비교 이러한 방법의 주요 장점은, if (value === undefined) { ... }typeof변수 경우 경우에 예외를 발생 결코 value존재하지 않는다.


답변

이 경우 === undefined비교를 사용할 수 있습니다 .if(val === undefined)

이것은 val항상 존재 하기 때문에 작동 합니다 (함수 인수입니다).

인수가 아닌 임의의 변수를 테스트하려는 경우 (예 : 전혀 정의 되지 않은 if(typeof val === 'undefined')경우) 예외가 val존재하지 않는 경우를 피하기 위해 사용해야 합니다.


답변

typeof는 항상 문자열을 반환하며 변수가 존재하지 않으면 오류를 생성하지 않습니다.

function A(val){
  if(typeof(val)  === "undefined")
    //do this
  else
   //do this
}


답변

함수에 응답하기에 늦었지만 jquery에는 빌드 함수가 있습니다.

if(jQuery.type(val) === "undefined"){
    //Some code goes here
}

jquery.type https://api.jquery.com/jQuery.type/ 의 jquery API 문서를 참조하십시오 .


답변

속기 기술을 사용하여 정의되지 않았는지 또는 널인지 확인할 수 있습니다.

 function A(val)
 {
   if(val || "")
   //do this
 else
 //do this
 }

이것이 당신을 도울 수 있기를 바랍니다


답변

if (value === undefined) {
    // ...
}


답변

typeof obj === undefined“를 테스트 할 때 obj가 정의되지 않은 경우에도을 alert(typeof obj)반환 object합니다. OBJ는 유형이기 때문에 Object그것의 반환 Object하지 undefined.

그래서 몇 시간의 테스트 끝에 아래 기술을 선택했습니다.

if(document.getElementById(obj) !== null){
//do...
}else{
//do...
}

왜 첫 번째 기술이 효과가 없는지 잘 모르겠지만 이것을 사용하여 작업을 완료했습니다.