关于JavaScript和jQuery的类型判断详解

所属分类: 网络编程 / JavaScript 阅读数: 177
收藏 0 赞 0 分享

对于类型的判断,JavaScript用typeof来进行。

栗子:

console.log(typeof null);      //object
console.log(typeof []);       //object
console.log(typeof {});       //object
console.log(typeof new Date());   //object
console.log(typeof new Object);   //object
console.log(typeof function(){});  //function
console.log(typeof alert);      //function
console.log(typeof 1);        //number
console.log(typeof "abc");      //string
console.log(typeof true);      //boolean

可以看到,typeof并不能够准确的判断出每一种数据类型,比如null和数组等都是object类型。因此,JavaScript判断数据类型不推荐使用typeof。

那么要如何具体判断呢??看一下语法<( ̄3 ̄)> !

{}.toString.call(obj);

栗子:

console.log({}.toString.call(null));      //[object Null]
console.log({}.toString.call([]));       //[object Array]
console.log({}.toString.call({}));       //[object Object]
console.log({}.toString.call(new Date()));   //[object Date]
console.log({}.toString.call(function(){}));  //[object Function]
console.log({}.toString.call(new Object));   //[object Object]
console.log({}.toString.call(alert));      //[object Function]
console.log({}.toString.call(1));        //[object Number]
console.log({}.toString.call('abc'));      //[object String]
console.log({}.toString.call(true));      //[object Boolean]

哈哈,是不是一目了然呀!!

那如果你用的是jQuery,就不用这么麻烦喽,可以直接用工具方法$.type(),进行判断

栗子:

console.log($.type(null));         //null
console.log($.type([]));          //array
console.log($.type({}));          //object
console.log($.type(1));           //number
......不全写完了,结果和{}.toString.call(obj);是一样的

实际上{}.toString.call(obj);就是jQuery中$.type()这个工具方法的实现最重要的一段代码(⊙o⊙)哦,神奇吧!赶快去jQuery源码中找找看吧~~

以上就是小编为大家带来的关于JavaScript和jQuery的类型判断详解全部内容了,希望大家多多支持脚本之家~

更多精彩内容其他人还在看

Js nodeType 属性全面解析

本文是对Js nodeType的属性进行了全面分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助
收藏 0 赞 0 分享

浅析用prototype定义自己的方法

下面小编将通过实例由浅入深讲解 prototype 的具体使用方法。需要的朋友可以过来参考下,希望对大家有所帮助
收藏 0 赞 0 分享

使用jQuery解决IE与FireFox下createElement方法的差异

使用jQuery解决IE与FireFox下createElement方法的差异。需要的朋友可以过来参考下,希望对大家有所帮助
收藏 0 赞 0 分享

jQuery探测位置的提示弹窗(toolTip box)详细解析

提示弹窗(toolTip box)经常会被用到,但是本文总要的不是弹,也不是窗,而是探测位置,在适当的地方弹窗。需要的朋友可以过来参考下,希望对大家有所帮助
收藏 0 赞 0 分享

JS中typeof与instanceof之间的区别总结

本文是对JS中typeof与instanceof之间的区别进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助
收藏 0 赞 0 分享

JS正则表达式大全(整理详细且实用)

JS正则表达式大全(整理详细且实用)。需要的朋友可以过来参考下,希望对大家有所帮助
收藏 0 赞 0 分享

Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结

本文是对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助
收藏 0 赞 0 分享

Jquery AJAX POST与GET之间的区别

本文是对Jquery中AJAX POST与GET之间的区别。进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助
收藏 0 赞 0 分享

优化Jquery,提升网页加载速度

本文是对优化Jquery,提升网页加载速度方面进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助
收藏 0 赞 0 分享

提高jQuery性能的十个诀窍

下面小编就为大家分享一篇提高jQuery性能的十个诀窍。很实用的。需要的朋友可以过来参考下,希望对大家有所帮助
收藏 0 赞 0 分享
查看更多