Rumah  >  Artikel  >  hujung hadapan web  >  关于javascript判断数据类型的方法实例总结

关于javascript判断数据类型的方法实例总结

伊谢尔伦
伊谢尔伦asal
2017-07-18 09:23:031089semak imbas

js里面包含五种数据类型  number   string    boolean   undefinedobject和函数类型 function

看到这里你肯定会问了:我怎么去区分对象,数组和null呢?

接下来我们就用到一个利器:Object.prototype.toString.call

这是对象的一个原生原型扩展函数,用来更精确的区分数据类型。

我们来试试这个玩儿意儿:

var   gettype=Object.prototype.toString

gettype.call('aaaa')输出      [object String]

gettype.call(2222) 输出      [object Number]

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

gettype.call(undefined)  输出      [object Undefined]

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

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

gettype.call([])    输出   [object Array]

gettype.call(function(){})     输出   [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 判断是否为数值类型 

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

Atas ialah kandungan terperinci 关于javascript判断数据类型的方法实例总结. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn