关于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 相关文章推荐
javascript prototype,executing,context,closure
Dec 24 Javascript
js制作的鼠标悬浮时产生的下拉框效果
Oct 27 Javascript
一个判断抢购时间是否到达的简单的js函数
Jun 23 Javascript
浅谈javascript 函数内部属性
Jan 21 Javascript
jQuery实现自定义checkbox和radio样式
Jul 13 Javascript
原生js和jQuery实现淡入淡出轮播效果
Dec 25 Javascript
javascript函数自动执行常用方法汇总
Mar 28 Javascript
JS定时器使用,定时定点,固定时刻,循环执行详解
May 31 Javascript
Vue组件选项props实例详解
Aug 18 Javascript
在js代码拼接dom对象到页面上的模板总结
Oct 21 Javascript
一文了解Vue中的nextTick
May 06 Javascript
JS计算两个数组的交集、差集、并集、补集(多种实现方式)
May 21 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实现WEB动态网页静态
2006/10/09 PHP
PHP Pear 安装及使用
2009/03/19 PHP
ThinkPHP自动完成中使用函数与回调方法实例
2014/11/29 PHP
php session 写入数据库
2016/02/13 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
2018/01/20 PHP
Laravel实现通过blade模板引擎渲染视图
2019/10/25 PHP
JavaScript 联动的无限级封装类,数据采用非Ajax方式,随意添加联动
2010/06/29 Javascript
Javascript中valueOf与toString区别浅析
2013/03/19 Javascript
Javascript基础教程之数据类型 (字符串 String)
2015/01/18 Javascript
JS中的Replace方法使用经验分享
2015/05/20 Javascript
JavaScript实现定时隐藏与显示图片的方法
2015/08/06 Javascript
详解javascript遍历方式
2015/11/11 Javascript
纯js实现瀑布流布局及ajax动态新增数据
2016/04/07 Javascript
基于JavaScript实现购物车功能
2017/02/07 Javascript
js模态对话框使用方法详解
2017/02/16 Javascript
Nodejs 和Session 原理及实战技巧小结
2017/08/25 NodeJs
详细分析JS函数去抖和节流
2017/12/05 Javascript
mpvue 单文件页面配置详解
2018/12/02 Javascript
JS自定义对象创建与简单使用方法示例
2020/01/15 Javascript
使用python解析xml成对应的html示例分享
2014/04/02 Python
python操作ssh实现服务器日志下载的方法
2015/06/03 Python
Python+selenium实现截图图片并保存截取的图片
2018/01/05 Python
python 计算概率密度、累计分布、逆函数的例子
2020/02/25 Python
详解python中groupby函数通俗易懂
2020/05/14 Python
浅谈css3新单位vw、vh、vmin、vmax的使用详解
2017/12/01 HTML / CSS
CSS3实现线性渐变用法示例代码详解
2020/08/07 HTML / CSS
如何写出高质量、高性能的MySQL查询
2014/11/17 面试题
工商企业管理实习自我鉴定
2013/12/04 职场文书
教堂婚礼主持词
2014/03/14 职场文书
毕业自我鉴定总结
2014/03/24 职场文书
商务经理岗位职责
2014/08/03 职场文书
党员民主生活会材料
2014/12/15 职场文书
2015年话务员工作总结
2015/04/29 职场文书
详解Vue slot插槽
2021/11/20 Vue.js
Kubernetes中Deployment的升级与回滚
2022/04/01 Servers
SpringBoot全局异常处理方案分享
2022/05/25 Java/Android