>웹 프론트엔드 >JS 튜토리얼 >JavaScript_javascript 스킬 중 느낌표 2개의 기능 설명

JavaScript_javascript 스킬 중 느낌표 2개의 기능 설명

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

간단한 예를 사용하여 설명하겠습니다.

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

var o={ 플래그:true};
var test=!!o.flag;//var test=o.flag||false;
alert(test)
>null 및 정의되지 않음에 ! 연산자를 사용하면 실제 결과가 생성되므로 두 개의 느낌표를 사용하는 목적은 o의 플래그 값이 명시적으로 설정된 경우(null/정의되지 않음/0""/등이 아님)입니다. ), 자연 테스트입니다. 설정되지 않은 경우 o.flag와 동일한 값을 사용하며, 테스트는 기본적으로 null 또는 정의되지 않은 대신 false로 설정됩니다.
jQuery의 전형적인 예는 다음과 같습니다. (jQuery 1.7.0.js: Line 748)

코드 복사 코드 다음과 같습니다:
grep: function(elems, callback, inv) {
var ret = [], retVal
inv = !!inv; / 배열을 살펴보고
// 유효성 검사 함수를 전달하는 항목만 저장합니다
for ( var i = 0, length = elems.length; i < length; i ) {
retVal = ! ! 콜백( elems[ i ], i );
if ( inv !== retVal ) {
ret.push( elems[ i ] )

return ret
}


grep 함수를 사용할 때 세 번째 매개변수가 주어지고 null/undefine/0""/이 아니면 inv는 true이고, 그렇지 않으면 false입니다. 이것의 목적은 후속 판단을 용이하게 하기 위해 inv 및 retVal의 값을 다른 값이 아닌 true/false에서만 가져올 수 있도록 하는 것입니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.