ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScriptでデータ型を判定する方法の例のまとめ

JavaScriptでデータ型を判定する方法の例のまとめ

伊谢尔伦
伊谢尔伦オリジナル
2017-07-18 09:23:031089ブラウズ

js には 5 つのデータ型、数値、文字列、ブール値、unknownobject、および関数型が含まれています

これを見たらきっと疑問に思うでしょう: オブジェクト、配列、null をどのように区別すればよいですか?

次に使用します。 Object.prototype.toString.call

これはオブジェクトのネイティブ プロトタイプ拡張関数であり、データ型をより正確に区別するために使用されます。

これを試してみましょう:

var gettype=Object.prototype.toString

gettype.call('aaaa') Output [object String]

gettype.call(2222) Output [object Number]

gettype.call(true) 出力 [object Boolean]

gettype.call(unknown) 出力 [object Unknown]

gettype.call(null) 出力 [object Null]

gettype.call({} ) 出力 [object Object ]

gettype.call([]) Output [object Array]

gettype.call(function(){}) Output [object Function]

これを見ると、先ほどの問題は解決しました。

実際、jsには

[object HTMLpElement] pオブジェクト、
[object HTMLBodyElement] bodyオブジェクト、
[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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。