关于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 显示当前系统时间代码
Dec 28 Javascript
javascript 折半查找字符在数组中的位置(有序列表)
Dec 09 Javascript
JSON+HTML实现国家省市联动选择效果
May 18 Javascript
javascript操作表格排序实例分析
May 06 Javascript
jquery仿百度百科底部浮动导航特效
Aug 08 Javascript
VueJs与ReactJS和AngularJS的异同点
Dec 12 Javascript
Angular获取手机验证码实现移动端登录注册功能
May 17 Javascript
AngularJS $http post 传递参数数据的方法
Oct 09 Javascript
vue.js实现回到顶部动画效果
Jul 31 Javascript
简述ES6新增关键字let与var的区别
Aug 23 Javascript
jstree中的checkbox默认选中和隐藏示例代码
Dec 29 Javascript
解决vue 使用axios.all()方法发起多个请求控制台报错的问题
Nov 09 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遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结
2014/11/18 PHP
Laravel ORM 数据model操作教程
2019/10/21 PHP
JavaScript为对象原型prototype添加属性的两种方式
2010/08/01 Javascript
一些老手都不一定知道的JavaScript技巧
2014/05/06 Javascript
JavaScript知识点总结(十六)之Javascript闭包(Closure)代码详解
2016/05/31 Javascript
jQuery实现图片轮播效果代码(基于jquery.pack.js插件)
2016/06/02 Javascript
web打印小结
2017/01/11 Javascript
详解nodejs微信公众号开发——6.自定义菜单
2017/04/13 NodeJs
layui文件上传实现代码
2017/05/20 Javascript
vue实现一个移动端屏蔽滑动的遮罩层实例
2017/06/08 Javascript
webpack处理 css\less\sass 样式的方法
2017/08/21 Javascript
js封装成插件的步骤方法
2017/09/11 Javascript
基于Require.js使用方法(总结)
2017/10/26 Javascript
angularjs结合html5实现拖拽功能
2018/06/25 Javascript
js核心基础之闭包的应用实例分析
2019/05/11 Javascript
JS实现水平移动与垂直移动动画
2019/12/19 Javascript
[01:18]PWL开团时刻DAY4——圣剑与抢盾
2020/11/03 DOTA
python实现每次处理一个字符的三种方法
2014/10/09 Python
Django中redis的使用方法(包括安装、配置、启动)
2018/02/21 Python
linux查找当前python解释器的位置方法
2019/02/20 Python
python OpenCV GrabCut使用实例解析
2019/11/11 Python
python shell命令行中import多层目录下的模块操作
2020/03/09 Python
在keras 中获取张量 tensor 的维度大小实例
2020/06/10 Python
推荐10个CSS3 制作的创意下拉菜单效果
2014/02/11 HTML / CSS
使用 HTML5 Canvas 制作水波纹效果点击图片就会触发
2014/09/15 HTML / CSS
AmazeUI 平滑滚动效果的示例代码
2020/08/20 HTML / CSS
全球性的在线婚纱礼服工厂:27dress.com
2019/03/21 全球购物
be2台湾单身男女交友:全球网路婚姻介绍的领导品牌
2019/10/11 全球购物
高中自我评价分享
2013/12/05 职场文书
中层竞聘演讲稿
2014/01/09 职场文书
新闻编辑自荐书范文
2014/02/12 职场文书
微笑面对生活演讲稿
2014/05/13 职场文书
前台接待员岗位职责
2015/04/15 职场文书
社区禁毒宣传活动总结
2015/05/07 职场文书
酒店开业主持词
2015/07/02 职场文书
基于PyQT5制作一个桌面摸鱼工具
2022/02/15 Python