欢迎加入QQ讨论群258996829
麦子学院 头像
苹果6袋
6
麦子学院

实例详解JavaScript和jQuery的类型判断

发布时间:2016-09-05 21:12  回复:0  查看:2059   最后回复:2016-09-05 21:12  

对于类型的判断,JavaScripttypeof来进行。而jQuery就要方便的多,希望这篇文章对学习jQuery的同学有帮助。


栗子:


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⊙)



文章来自:博客园/晴晴加油

您还未登录,请先登录

热门帖子

最新帖子