javascript和jQuery的类型判断详解编程语言

对于类型的判断,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。

那么要如何具体判断呢?

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源码中找找看吧

文档来源:http://www.cnblogs.com/yuqingfamily/p/5796229.html

javascript和jQuery的类型判断详解编程语言

转载请注明来源网站:blog.ytso.com谢谢!

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/15020.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论