jsを知っている人なら誰でも、さまざまなデータ型を決定するために使用されるtypeofがあることを知っています: typeof xxx 、 typeof(xxx)
次の例:
typeof 2出力番号
typeof null 出力object
typeof {} 出力オブジェクト
typeof [] 出力オブジェクト
typeof (function(){}) 出力関数
typeof 未定義 出力未定義
typeof '222'出力 string
typeof true 出力 boolean
これには、js の 5 つのデータ型、number、string、boolean、unknownobject および functiontype function
が含まれます。オブジェクト、 配列と null はどうでしょうか?
次に、別のツールを使用します: Object.prototype.toString.call
これは、オブジェクトのネイティブ プロトタイプ拡張関数であり、データ型をより正確に区別するために使用されます。
これを試してみましょう:
var gettype=Object.prototype.toString
gettype.call('aaaa') 出力 [オブジェクト文字列]
gettype.call(2222) 出力 [オブジェクト番号]
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、
[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]; } ........ }
以上がjsを使用してデータ型を決定する簡単な方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。