星空网 > 软件开发 > Java

JavaScript和jQuery的类型判断

此博文为原创,转载请注明出处!

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

栗子:

console.log(typeof null);      //objectconsole.log(typeof []);       //objectconsole.log(typeof {});       //objectconsole.log(typeof new Date());   //objectconsole.log(typeof new Object);   //objectconsole.log(typeof function(){});  //functionconsole.log(typeof alert);      //functionconsole.log(typeof 1);        //numberconsole.log(typeof "abc");      //stringconsole.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));         //nullconsole.log($.type([]));          //arrayconsole.log($.type({}));          //objectconsole.log($.type(1));           //number
......不全写完了,结果和{}.toString.call(obj);是一样的

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

 




原标题:JavaScript和jQuery的类型判断

关键词:JavaScript

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流