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),'<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 中国語 Web サイトの他の関連記事を参照してください。