>  기사  >  웹 프론트엔드  >  js_javascript 기술의 이중 느낌표 판단에 대해 토론하십시오.

js_javascript 기술의 이중 느낌표 판단에 대해 토론하십시오.

WBOY
WBOY원래의
2016-05-16 17:16:301489검색

오늘 qunit 소스 코드를 보다가 아주 이상한 코드 조각을 발견했습니다. 그 의미는 알 수 있지만 이중 느낌표의 역할은 이해가 되지 않습니다.

코드 복사 코드는 다음과 같습니다.

함수 ID( 이름 ) {
return !! ( typeof document !== "undefine" && document && document.getElementById ) &&
           document.getElementById( name );
}

그런 다음 온라인에서 몇 가지 정보를 확인했습니다. 삼항 연산자의 경우 부울 값을 반환합니다.
코드 복사 코드는 다음과 같습니다.

var ret = !!document.getElementById

은 다음과 같습니다:
코드 복사 코드는 다음과 같습니다.

var ret = document.getElementById ? true : false;   

값이 비어 있지 않은 문자열이고 0이 아닌 숫자인 경우 true를 반환하고, 값이 빈 문자열인 경우 false를 반환합니다. , 0 또는 null.
코드 복사 코드는 다음과 같습니다.

var a = " "; !a) ; //true
var a = "s"; //true
var a = true; //true
var a = 1; 경고(!!a); //참
var a = -1; //참
경고(!!a); true

var a = 0; //false
var a = ""; //false
var a = false; (!!a); //거짓
var a = null; 경고(!!a); //거짓
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.