js에는 5가지 데이터 유형이 포함되어 있습니다. 숫자 문자열 부울 정의되지 않은 개체 및 함수 유형 함수
이 내용을 보면 분명히 묻게 될 것입니다: 객체, 배열 및 null을 어떻게 구별합니까?
다음에 사용할 것입니다. 날카로운 도구: Object.prototype.toString.call
이것은 데이터 유형을 보다 정확하게 구별하는 데 사용되는 객체의 기본 프로토타입 확장 함수입니다.
다음을 시도해 보겠습니다.
var gettype=Object.prototype.toString
gettype.call('aaaa') 출력 [객체 문자열]
gettype.call(2222) 출력 [객체 번호]
gettype.call(true) 출력 [객체 부울]
gettype.call(undefine) 출력 [객체 정의되지 않음]
gettype.call(null) 출력 [객체 Null]
gettype.call({} ) 출력 [객체 객체 ]
gettype.call([]) 출력 [객체 배열]
gettype.call(function(){}) 출력 [객체 함수]
이것을 보면 지금 막 문제를 해결했습니다.
실제로 js에는 많은 유형 판단이 있습니다
[object HTMLpElement] p object,
[object HTMLBodyElement] body object,
[object Document] (IE) 또는
[object HTMLDocument] (firefox, google) ... ....
다양한 DOM 노드에 대한 판단은 플러그인을 작성할 때 사용됩니다.
캡슐화할 수 있는 메소드는 다음과 같습니다.
var gettype=Object.prototype.toString var utility={ isObj:function(o){ return gettype.call(o)=="[object Object]"; }, isArray:function(o){ return gettype.call(o)=="[object Array]"; }, isNULL:function(o){ return gettype.call(o)=="[object Null]"; }, isDocument:function(){ return gettype.call(o)=="[object Document]"|| [object HTMLDocument]; } ........ }
1 배열 유형인지 확인
<script type="text/javascript"> //<![CDATA[ var a=[0]; document.write(isArray(a),'<br/>'); function isArray(obj){ return (typeof obj=='object')&&obj.constructor==Array; } //]]> </script>
2 문자열 유형인지 확인
<script type="text/javascript"> //<![CDATA[ document.write(isString('test'),'<br/>'); document.write(isString(10),'<br/>'); function isString(str){ return (typeof str=='string')&&str.constructor==String; } //]]> </script>
3 숫자 유형인지 확인
아아아아위 내용은 JavaScript에서 데이터 유형을 결정하는 방법의 예 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!