>  기사  >  웹 프론트엔드  >  JavaScript에서 데이터 유형을 결정하는 방법의 예 요약

JavaScript에서 데이터 유형을 결정하는 방법의 예 요약

伊谢尔伦
伊谢尔伦원래의
2017-07-18 09:23:031086검색

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),&#39;<br/>&#39;); 
function isArray(obj){ 
return (typeof obj==&#39;object&#39;)&&obj.constructor==Array; 
} 
//]]> 
</script>

2 문자열 유형인지 확인

<script type="text/javascript"> 
//<![CDATA[ 
document.write(isString(&#39;test&#39;),&#39;<br/>&#39;); 
document.write(isString(10),&#39;<br/>&#39;); 
function isString(str){ 
return (typeof str==&#39;string&#39;)&&str.constructor==String; 
} 
//]]> 
</script>

3 숫자 유형인지 확인

아아아아

위 내용은 JavaScript에서 데이터 유형을 결정하는 방법의 예 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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