关于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 相关文章推荐
自适应图片大小的弹出窗口
Jul 27 Javascript
JAVASCRIPT对象及属性
Feb 13 Javascript
extjs 学习笔记 四 带分页的grid
Oct 20 Javascript
表头固定(利用jquery实现原理介绍)
Nov 08 Javascript
js中 关于undefined和null的区别介绍
Apr 16 Javascript
js加载读取内容及显示与隐藏div示例
Feb 13 Javascript
通过隐藏iframe实现文件下载的js方法介绍
Feb 26 Javascript
javascript实现C语言经典程序题
Nov 29 Javascript
javascript中Number的方法小结
Nov 21 Javascript
微信小程序 less文件编译成wxss文件实现办法
Dec 05 Javascript
微信小程序登录按钮遮罩浮层效果的实现方法
Dec 16 Javascript
Jquery获取radio选中值实例总结
Jan 17 jQuery
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
一些花式咖啡的配方
2021/03/03 冲泡冲煮
浅析ThinkPHP中execute和query方法的区别
2014/06/13 PHP
php密码生成类实例
2014/09/24 PHP
PHP使用mysql_fetch_row查询获得数据行列表的方法
2015/03/18 PHP
Yii框架页面渲染操作实例详解
2019/07/19 PHP
JavaScript学习笔记(一) js基本语法
2011/10/25 Javascript
用js判断页面是否加载完成实现代码
2012/12/11 Javascript
jQuery侧边栏随窗口滚动实现方法
2013/03/04 Javascript
jQuery实现公告文字左右滚动的实例代码
2013/10/29 Javascript
JavaScript数据结构与算法之栈详解
2015/03/12 Javascript
Javascript中apply、call、bind的巧妙使用
2016/08/18 Javascript
微信小程序返回多级页面的实现方法
2017/10/27 Javascript
浅谈vue.js导入css库(elementUi)的方法
2018/03/09 Javascript
AngularJS标签页tab选项卡切换功能经典实例详解
2018/05/16 Javascript
vue中父子组件的参数传递和应用示例
2021/01/04 Vue.js
Python中使用ConfigParser解析ini配置文件实例
2014/08/30 Python
python查看微信好友是否删除自己
2016/12/19 Python
python实现根据指定字符截取对应的行的内容方法
2018/10/23 Python
Python网页正文转换语音文件的操作方法
2018/12/09 Python
对python文件读写的缓冲行为详解
2019/02/13 Python
Python I/O与进程的详细讲解
2019/03/08 Python
python tkinter canvas使用实例
2019/11/04 Python
django序列化serializers过程解析
2019/12/14 Python
python绘制彩虹图
2019/12/16 Python
根据tensor的名字获取变量的值方式
2020/01/04 Python
Python基础之列表常见操作经典实例详解
2020/02/26 Python
在python中利用dict转json按输入顺序输出内容方式
2020/02/27 Python
浅谈keras保存模型中的save()和save_weights()区别
2020/05/21 Python
澳大利亚最大的网上油画销售画廊:Direct Art Australia
2018/04/15 全球购物
基层工作经历证明
2014/01/13 职场文书
单位授权委托书范文
2014/08/02 职场文书
环卫工人节活动总结
2014/08/29 职场文书
查摆剖析材料范文
2014/09/30 职场文书
2015年电气技术员工作总结
2015/07/24 职场文书
2016年“我们的节日·清明节”活动总结
2016/04/01 职场文书
导游词之四川武侯祠
2019/10/21 职场文书