关于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 屏蔽一个区域内的所有元素,禁止输入
Oct 22 Javascript
编写高性能的JavaScript 脚本的加载与执行
Apr 19 Javascript
对frameset、frame、iframe的js操作示例代码
Aug 16 Javascript
JS获得图片alt信息的方法
Apr 01 Javascript
使用CoffeeScrip优美方式编写javascript代码
Oct 28 Javascript
用node和express连接mysql实现登录注册的实现代码
Jul 05 Javascript
简单谈谈JS中的正则表达式
Sep 11 Javascript
详解webpack4升级指南以及从webpack3.x迁移
Jun 12 Javascript
移动端自适应flexible.js的使用方法(不用三大框架,仅写一个单html页面使用)推荐
Apr 02 Javascript
详解mpvue开发微信小程序基础知识
Sep 23 Javascript
layui将table转化表单显示的方法(即table.render转为表单展示)
Sep 24 Javascript
js实现自动播放匀速轮播图
Feb 06 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给图片添加文字水印方法汇总
2015/08/27 PHP
php静态成员方法和静态的成员属性的使用方法
2017/10/26 PHP
解析JavaScript中的不可见数据类型
2013/12/02 Javascript
jquery实现的图片点击滚动效果
2014/04/29 Javascript
ExtJS4利根据登录后不同的角色分配不同的树形菜单
2014/05/02 Javascript
angularJS中router的使用指南
2015/02/09 Javascript
javascript实现将文件保存到本地方法汇总
2015/07/26 Javascript
轻松实现js弹框显示选项
2016/09/13 Javascript
D3.js实现柱状图的方法详解
2016/09/21 Javascript
javascript中json基础知识详解
2017/01/19 Javascript
获取当前按钮或者html的ID名称实例(推荐)
2017/06/23 Javascript
详解vue渲染从后台获取的json数据
2017/07/06 Javascript
jquery.validate.js 多个相同name的处理方式
2017/07/10 jQuery
JS监听滚动和id自动定位滚动
2018/12/18 Javascript
微信小程序提取公用函数到util.js及使用方法示例
2019/01/10 Javascript
vue引入静态js文件的方法
2020/06/20 Javascript
linux系统使用python监测网络接口获取网络的输入输出
2014/01/15 Python
Python格式化压缩后的JS文件的方法
2015/03/05 Python
python的文件操作方法汇总
2017/11/10 Python
Python常见内置高效率函数用法示例
2018/07/31 Python
Python实现带参数的用户验证功能装饰器示例
2018/12/14 Python
pandas 把数据写入txt文件每行固定写入一定数量的值方法
2018/12/28 Python
对python生成业务报表的实例详解
2019/02/03 Python
详解Selenium+PhantomJS+python简单实现爬虫的功能
2019/07/14 Python
python实现布隆过滤器及原理解析
2019/12/08 Python
Python3交互式shell ipython3安装及使用详解
2020/07/11 Python
python ssh 执行shell命令的示例
2020/09/29 Python
CSS3圆角边框和边界图片效果实例
2016/07/01 HTML / CSS
英国女鞋购物网站:Moda in Pelle
2019/02/18 全球购物
CLR与IL分别是什么含义
2016/08/23 面试题
银行实习人员自我鉴定
2013/09/22 职场文书
七年级历史教学反思
2014/02/05 职场文书
小学阳光体育活动总结
2014/07/05 职场文书
2015年大学元旦晚会活动策划书
2014/12/09 职场文书
百日宴上的祝酒词
2015/08/10 职场文书
2019大学生预备党员转正思想汇报
2019/06/21 职场文书