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


Posted in Javascript onOctober 08, 2016

对于类型的判断,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的类型判断详解全部内容了,希望大家多多支持三水点靠木~

Javascript 相关文章推荐
怎么让脚本或里面的函数在所有图片都载入完毕的时候执行
Oct 17 Javascript
jquery地址栏链接与a标签链接匹配之特效代码总结
Aug 24 Javascript
js中获取时间new Date()的全面介绍
Jun 20 Javascript
原生JS实现在线问卷调查投票特效
Jan 03 Javascript
json数据处理及数据绑定
Jan 25 Javascript
jQuery使用zTree插件实现可拖拽的树示例
Sep 23 jQuery
简单实现jQuery弹窗效果
Oct 30 jQuery
Vue scrollBehavior 滚动行为实现后退页面显示在上次浏览的位置
May 27 Javascript
vue实现后台管理权限系统及顶栏三级菜单显示功能
Jun 19 Javascript
Vue父组件如何获取子组件中的变量
Jul 24 Javascript
vue单页应用的内存泄露定位和修复问题小结
Aug 02 Javascript
一篇文章了解正则表达式的替换技巧
Feb 24 Javascript
js基本算法:冒泡排序,二分查找的简单实例
Oct 08 #Javascript
javascript中获取元素标签中间的内容的实现方法
Oct 08 #Javascript
Jquery和Js获得元素标签名称的方法总结
Oct 08 #Javascript
JS获取html元素的标记名实现方法
Oct 08 #Javascript
js获取元素的标签名实现方法
Oct 08 #Javascript
什么是JavaScript中的结果值?
Oct 08 #Javascript
如何利用模板将HTML从JavaScript中抽离
Oct 08 #Javascript
You might like
echo(),print(),print_r()之间的区别?
2006/11/19 PHP
echo, print, printf 和 sprintf 区别
2006/12/06 PHP
让PHP开发者事半功倍的十大技巧小结
2010/04/20 PHP
php中批量删除Mysql中相同前缀的数据表的代码
2011/07/01 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
2019/05/31 PHP
PHP中遍历数组的三种常用方法实例分析
2019/06/24 PHP
jscript之List Excel Color Values
2007/06/13 Javascript
jQuery 翻牌或百叶窗效果(内容三秒自动切换)
2012/06/14 Javascript
JSON.parse()和JSON.stringify()使用介绍
2014/06/20 Javascript
avalon js实现仿微博拖动图片排序
2015/08/14 Javascript
详解JavaScript的AngularJS框架中的表达式与指令
2016/03/05 Javascript
使用jQuery加载html页面到指定的div实现方法
2016/07/13 Javascript
node+express制作爬虫教程
2016/11/11 Javascript
js禁止浏览器的回退事件
2017/04/20 Javascript
利用canvas中toDataURL()将图片转为dataURL(base64)的方法详解
2017/11/20 Javascript
使用vue-cli创建项目的图文教程(新手入门篇)
2018/05/02 Javascript
vue element动态渲染、移除表单并添加验证的实现
2019/01/16 Javascript
详解vuex持久化插件解决浏览器刷新数据消失问题
2019/04/15 Javascript
JavaScript中十种一步拷贝数组的方法实例详解
2019/04/22 Javascript
浅谈在vue-cli3项目中解决动态引入图片img404的问题
2020/08/04 Javascript
[02:23]2016国际邀请赛中国区预选赛wings晋级之路
2016/06/29 DOTA
python实现的重启关机程序实例
2014/08/21 Python
django模型层(model)进行建表、查询与删除的基础教程
2017/11/21 Python
python机器学习理论与实战(一)K近邻法
2021/01/28 Python
Python抓取聚划算商品分析页面获取商品信息并以XML格式保存到本地
2018/02/23 Python
基于Python获取照片的GPS位置信息
2020/01/20 Python
python模拟哔哩哔哩滑块登入验证的实现
2020/04/24 Python
Python如何在windows环境安装pip及rarfile
2020/06/15 Python
python cv2.resize函数high和width注意事项说明
2020/07/05 Python
澳大利亚领先的孕妇服装品牌:Mamaway
2018/08/14 全球购物
TobyDeals美国:在电子产品上获得最好的优惠和折扣
2019/08/11 全球购物
阿迪达斯越南官网:adidas越南
2020/07/19 全球购物
哈弗商学院毕业生求职信
2014/02/26 职场文书
大学生见习报告范文
2014/11/03 职场文书
军训阅兵新闻稿
2015/07/17 职场文书
十大最强火系宝可梦,喷火龙上榜,第一名有双火属性
2022/03/18 日漫