关于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的.animate()函数在IE6下的问题
Dec 03 Javascript
JS获取键盘上任意按键的值(实例代码)
Nov 12 Javascript
css配合jquery美化 select
Nov 29 Javascript
浅析offsetLeft,Left,clientLeft之间的区别
Nov 30 Javascript
jQuery实现自动调用和触发某个事件的方法
Nov 18 Javascript
vue.js实现仿原生ios时间选择组件实例代码
Dec 21 Javascript
微信小程序云开发实现数据添加、查询和分页
May 17 Javascript
p5.js实现简单货车运动动画
Oct 23 Javascript
leaflet加载geojson叠加显示功能代码
Feb 21 Javascript
JavaScript 接口原理与用法实例详解
May 12 Javascript
vant组件中 dialog的确认按钮的回调事件操作
Nov 04 Javascript
用React Native制作一个简单的游戏引擎
May 27 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&amp;mysql(三)
2006/10/09 PHP
PHP与javascript的两种交互方式
2006/10/09 PHP
PHP 检查扩展库或函数是否可用的代码
2010/04/06 PHP
怎样使用php与jquery设置和读取cookies
2013/08/08 PHP
PHP魔术方法之__call与__callStatic使用方法
2017/07/23 PHP
PHP自定义函数判断是否为Get、Post及Ajax提交的方法
2017/07/27 PHP
PHP大文件分块上传功能实例详解
2019/07/22 PHP
AngularJS基础 ng-mousemove 指令简单示例
2016/08/02 Javascript
XMLHttpRequest Level 2 使用指南
2016/08/26 Javascript
javascript 解决浏览器不支持的问题
2016/09/24 Javascript
jquery获取input type=text中的值的各种方式(总结)
2016/12/02 Javascript
基于JQuery实现的跑马灯效果(文字无缝向上翻动)
2016/12/02 Javascript
详解angular中如何监控dom渲染完毕
2017/01/03 Javascript
如何自动化部署项目?折腾服务器之旅~
2019/04/16 Javascript
微信小程序自定义组件传值 页面和组件相互传数据操作示例
2019/05/05 Javascript
javascript面向对象三大特征之继承实例详解
2019/07/24 Javascript
JavaScript装饰者模式原理与用法实例详解
2020/03/09 Javascript
js实现九宫格抽奖
2020/03/19 Javascript
Python GAE、Django导出Excel的方法
2008/11/24 Python
多线程爬虫批量下载pcgame图片url 保存为xml的实现代码
2013/01/17 Python
Python3生成手写体数字方法
2018/01/30 Python
python编程测试电脑开启最大线程数实例代码
2018/02/09 Python
Flask Web开发入门之文件上传(八)
2018/08/17 Python
python 判断文件还是文件夹的简单实例
2019/06/10 Python
python打造爬虫代理池过程解析
2019/08/15 Python
详解python tkinter 图片插入问题
2020/09/03 Python
天猫超市:阿里巴巴打造的网上超市
2016/11/02 全球购物
JAVA高级程序员面试题
2013/09/06 面试题
学校大课间活动方案
2014/01/30 职场文书
国旗下的演讲稿
2014/05/08 职场文书
校本研修个人总结
2015/02/28 职场文书
2015年成本会计工作总结
2015/10/14 职场文书
生活委员竞选稿
2015/11/21 职场文书
详解PHP Swoole与TCP三次握手
2021/05/27 PHP
Matplotlib绘制条形图的方法你知道吗
2022/03/21 Python
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python