这里有新鲜出炉的 jQuery 示例,程序狗速度看过来!
jQuery 是一个兼容多浏览器的 javascript 框架,核心理念是 write less,do more(写得更少, 做得更多)。jQuery 在 2006 年 1 月由美国人 John Resig 在纽约的 barcamp 发布,吸引了来自世界各地的众多 JavaScript 高手加入,由 Dave Methvin 率领团队进行开发。
下面小编就为大家带来一篇浅谈 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。
那么要如何具体判断呢??看一下语法 <( ̄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 源码中找找看吧~~
来源: http://www.phperz.com/article/17/0429/331369.html