关于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 相关文章推荐
jquery 3D球状导航的文章分类
Jul 06 Javascript
jQuery的实现原理的模拟代码 -2 数据部分
Aug 01 Javascript
javascript引用类型之时间Date和数组Array
Aug 27 Javascript
jquery.tableSort.js表格排序插件使用方法详解
Aug 12 Javascript
Vue.directive自定义指令的使用详解
Mar 10 Javascript
vue项目国际化vue-i18n的安装使用教程
Mar 14 Javascript
JavaScript 五大常见函数
Mar 23 Javascript
Vue.js 父子组件通信的十种方式
Oct 30 Javascript
npm 语义版本控制详解
Sep 10 Javascript
使用Vue 自定义文件选择器组件的实例代码
Mar 04 Javascript
jQuery 隐藏/显示效果函数用法实例分析
May 20 jQuery
vue实现输入框自动跳转功能
May 20 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
php静态文件返回304技巧分享
2015/01/06 PHP
配置eAccelerator和XCache扩展来加速PHP程序的执行
2015/12/22 PHP
PHP获取网站中各文章的第一张图片的代码示例
2016/05/20 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
2017/07/19 PHP
Laravel框架实现调用百度翻译API功能示例
2019/05/30 PHP
php操作redis命令及代码实例大全
2020/11/19 PHP
JS URL传中文参数引发的乱码问题
2009/09/02 Javascript
JS getStyle获取最终样式函数代码
2010/04/01 Javascript
Jquery EasyUI中弹出确认对话框以及加载效果示例代码
2014/02/13 Javascript
多种方法实现load加载完成后把图片一次性显示出来
2014/02/19 Javascript
JS去掉第一个字符和最后一个字符的实现代码
2014/02/20 Javascript
Javascript Objects详解
2014/09/04 Javascript
对于jQuery性能的一些优化建议
2015/08/13 Javascript
JavaScript+html5 canvas制作的百花齐放效果完整实例
2016/01/26 Javascript
jquery $.trim()去除字符串空格的实现方法【附图例】
2016/03/30 Javascript
使用nodejs爬取前程无忧前端技能排行
2017/05/06 NodeJs
mint-ui的search组件在键盘显示搜索按钮的实现方法
2017/10/27 Javascript
详解angular2如何手动点击特定元素上的点击事件
2018/10/16 Javascript
node.js中对Event Loop事件循环的理解与应用实例分析
2020/02/14 Javascript
Python实现选择排序
2017/06/04 Python
Django项目后台不挂断运行的方法
2019/08/31 Python
python使用paramiko实现ssh的功能详解
2020/03/06 Python
python 如何调用远程接口
2020/09/11 Python
HTML5 video 事件应用示例
2014/09/11 HTML / CSS
HTML5 video 上传预览图片视频如何设置、预览视频某秒的海报帧
2018/08/28 HTML / CSS
英国门把手公司:Door Handle Company
2019/05/12 全球购物
微软马来西亚官方网站:Microsoft马来西亚
2019/11/22 全球购物
J2EE面试题集锦(附答案)
2013/08/16 面试题
应届毕业生应聘自荐信
2013/12/07 职场文书
养牛场项目建议书
2014/05/13 职场文书
放射科岗位职责
2015/02/14 职场文书
病危通知书样本
2015/04/17 职场文书
2015年政风行风工作总结
2015/04/21 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
Python Pandas解析读写 CSV 文件
2022/04/11 Python
Win10/Win11 任务栏替换成经典样式
2022/04/19 数码科技