关于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 操作XML入门
Dec 25 Javascript
在jQuery ajax中按钮button和submit的区别分析
Oct 07 Javascript
Thinkphp模板没有解析直接原样输出的解决方法
Oct 31 Javascript
JavaScript实现点击单元格改变背景色的方法
Feb 12 Javascript
jquery 实现滚动条下拉时无限加载的简单实例
Jun 01 Javascript
js字符串引用的两种方式(必看)
Sep 18 Javascript
jQuery grep()方法详解及实例代码
Oct 30 Javascript
Javascript中toFixed计算错误(依赖银行家舍入法的缺陷)解决方法
Aug 22 Javascript
fetch 使用及如何接收JS传值
Nov 11 Javascript
网页爬虫之cookie自动获取及过期自动更新的实现方法
Mar 06 Javascript
jquery树形插件zTree高级使用详解
Aug 16 jQuery
vue+elementui 实现新增和修改共用一个弹框的完整代码
Jun 08 Vue.js
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 5.0对象模型深度探索之属性和方法
2008/03/27 PHP
php 移除数组重复元素的一点说明
2008/11/27 PHP
PHP下通过系统信号量加锁方式获取递增序列ID
2009/09/25 PHP
php使用异或实现的加密解密实例
2013/09/04 PHP
浅析PHP中strlen和mb_strlen的区别
2014/08/31 PHP
PHP7.0版本备注
2015/07/23 PHP
大家在抢红包,程序员在研究红包算法
2015/08/31 PHP
浅谈socket同步和异步、阻塞和非阻塞、I/O模型
2016/12/15 PHP
php使用Jpgraph创建折线图效果示例
2017/02/15 PHP
在laravel5.2中实现点击用户头像更改头像的方法
2019/10/14 PHP
非常不错的一个javascript 类
2006/11/07 Javascript
jQuery登陆判断简单实现代码
2013/04/21 Javascript
查询json的数据结构的8种方式简介
2014/03/10 Javascript
jquery实现的随机多彩tag标签随机颜色和字号大小效果
2014/03/27 Javascript
JavaScript实现斗地主游戏的思路
2016/02/29 Javascript
使用JQuery 加载页面时调用JS的实现方法
2016/05/30 Javascript
jQuery动态生成Bootstrap表格
2016/11/01 Javascript
微信小程序 自己制作小组件实例详解
2016/12/22 Javascript
js实现下拉菜单效果
2017/03/01 Javascript
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
2017/05/13 jQuery
JS+CSS3实现的简易钟表效果示例
2019/04/13 Javascript
微信小程序--特定区域滚动到顶部时固定的方法
2019/04/28 Javascript
微信小程序select下拉框实现源码
2019/11/08 Javascript
VSCode Vue开发推荐插件和VSCode快捷键(小结)
2020/08/08 Javascript
JavaScript实现简单验证码
2020/08/24 Javascript
python实现合并两个数组的方法
2015/05/16 Python
Python3.6.0+opencv3.3.0人脸检测示例
2018/05/25 Python
实现ECharts双Y轴左右刻度线一致的例子
2020/05/16 Python
如何以Winsows Service方式运行JupyterLab
2020/08/30 Python
HTML5全屏(Fullscreen)API详细介绍
2015/04/24 HTML / CSS
HTML5 新表单类型示例代码
2018/03/20 HTML / CSS
Html5页面二次分享的实现
2018/07/30 HTML / CSS
亲子运动会的活动方案
2014/08/17 职场文书
2014个人四风对照检查材料思想汇报
2014/09/18 职场文书
拾金不昧表扬信怎么写
2015/05/04 职场文书
健身房被搭讪?用python写了个小米计时器助人为乐
2021/06/08 Python