关于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 相关文章推荐
比较简单的一个符合web标准的JS调用flash方法
Nov 29 Javascript
js 遍历对象的属性的代码
Dec 29 Javascript
用javascript关闭本窗口技巧小结
Sep 05 Javascript
JS图片定时翻滚效果实现方法
Jun 21 Javascript
jquery根据td给相同tr下其他td赋值的实现方法
Oct 05 Javascript
canvas绘制的直线动画
Jan 23 Javascript
vue轮播图插件vue-awesome-swiper的使用代码实例
Jul 10 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
Aug 15 jQuery
JavaScript fetch接口案例解析
Aug 30 Javascript
详解angularjs跨页面传参遇到的一些问题
Nov 01 Javascript
BootStrap table实现表格行拖拽效果
Dec 01 Javascript
JavaScript数据结构之栈实例用法
Jan 18 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 程序授权验证开发思路
2009/07/09 PHP
PHP中的按位与和按位或操作示例
2014/01/27 PHP
Javascript 面向对象特性
2009/12/28 Javascript
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
2013/01/04 Javascript
JavaScript 匿名函数和闭包介绍
2015/04/13 Javascript
js强制把网址设为默认首页
2015/09/29 Javascript
thinkphp实现无限分类(使用递归)
2015/12/19 Javascript
jQuery实现网页顶部固定导航效果代码
2015/12/24 Javascript
浅谈原生JS中的延迟脚本和异步脚本
2017/07/12 Javascript
vue使用 better-scroll的参数和方法详解
2018/01/25 Javascript
浅谈Vue Element中Select下拉框选取值的问题
2018/03/01 Javascript
使用live-server快速搭建本地服务器+自动刷新的方法
2018/03/09 Javascript
详解vue-loader在项目中是如何配置的
2018/06/04 Javascript
angularjs1.5 组件内用函数向外传值的实例
2018/09/30 Javascript
用Python进行行为驱动开发的入门教程
2015/04/23 Python
Python中最常用的操作列表的几种方法归纳
2015/04/24 Python
Python操作MongoDB详解及实例
2017/05/18 Python
Python模拟登陆实现代码
2017/06/14 Python
python实现图书馆研习室自动预约功能
2018/04/27 Python
python调用c++传递数组的实例
2019/02/13 Python
Python3搭建http服务器的实现代码
2020/02/11 Python
Python字符串对齐、删除字符串不需要的内容以及格式化打印字符
2021/01/23 Python
Python中使用Selenium环境安装的方法步骤
2021/02/22 Python
c++工程师面试问题
2013/08/04 面试题
事业单位辞职信范文
2014/01/19 职场文书
吸烟检讨书2000字
2014/02/13 职场文书
优秀大学生职业生涯规划书
2014/02/27 职场文书
品酒会策划方案
2014/05/26 职场文书
村安全生产责任书
2014/08/25 职场文书
机关单位工作失职检讨书
2014/11/20 职场文书
教师辞职书范文
2015/02/26 职场文书
2015年度招聘工作总结
2015/05/28 职场文书
学前教育见习总结
2015/06/23 职场文书
56句经典英文座右铭
2019/08/09 职场文书
导游词之上海杜莎夫人蜡像馆
2019/11/22 职场文书
Nginx已编译的nginx-添加新模块
2021/04/01 Servers