jsを知っている人なら誰でも、さまざまなデータ型を決定するために使用されるtypeofがあることを知っています: typeof xxx 、 typeof(xxx)
次の例:
typeof 2 出力番号
typeof null 出力オブジェクト。
typeof {} 出力オブジェクト
typeof [] 出力オブジェクト
typeof (function(){}) 出力関数
typeof unknown 出力未定義
typeof '222' 出力文字列
typeof true 出力ブール値
This js の 5 つのデータ型は、数値、文字列、ブール値、未定義オブジェクト、関数型です
これを見ると必ず疑問に思うでしょう: オブジェクト、配列、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 HTMLDivElement] divオブジェクト、
[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]; } ........ }
上記のjsの各種データ型を判定する簡単な方法(推奨)は、エディターで共有した内容ですので、ご参考になれば幸いです。 PHP の中国語 Web サイトをさらにサポートします。
さまざまなデータ型を決定するための js の簡単な方法と関連記事については、PHP 中国語 Web サイトに注目してください。