关于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 Ajax异步处理Json数据.
Sep 09 Javascript
js触发asp.net的Button的Onclick事件应用
Feb 02 Javascript
JavaScript 操作table,可以新增行和列并且隔一行换背景色代码分享
Jul 05 Javascript
理解JavaScript的变量的入门教程
Jul 07 Javascript
初识Javascript小结
Jul 16 Javascript
理解AngularJs篇:30分钟快速掌握AngularJs
Dec 23 Javascript
JS对象创建的几种方式整理
Feb 28 Javascript
JavaScript调试之console.log调试的一个小技巧分享
Aug 07 Javascript
彻底搞懂JavaScript中的apply和call方法(必看)
Sep 18 Javascript
9种改善AngularJS性能的方法
Nov 28 Javascript
vue项目使用axios发送请求让ajax请求头部携带cookie的方法
Sep 26 Javascript
微信小程序吸底区域适配iPhoneX的实现
Apr 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接收json 并将接收数据插入数据库的实现代码
2015/12/01 PHP
PHP实现支持CURL字符串证书传输的方法
2019/03/23 PHP
ie7+背景透明文字不透明超级简单的实现方法
2014/01/17 Javascript
js动态控制table的tr、td增加及删除的具体实现
2014/04/30 Javascript
jQuery取id有.的值的方法
2014/05/21 Javascript
JavaScript基础语法、dom操作树及document对象
2014/12/02 Javascript
js树插件zTree获取所有选中节点数据的方法
2015/01/28 Javascript
JS/Jquery判断对象为空的方法
2015/06/11 Javascript
js实现跨域的方法实例详解
2015/06/24 Javascript
jQuery解析Json实例详解
2015/11/24 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(二)
2016/02/16 Javascript
JS实现登录页面记住密码和enter键登录方法推荐
2016/05/10 Javascript
jQuery操作iframe中js函数的方法小结
2016/07/06 Javascript
AngularJS自定义控件实例详解
2016/12/13 Javascript
AngularJS中update两次出现$promise属性无法识别的解决方法
2017/01/05 Javascript
Vue+Express实现登录状态权限验证的示例代码
2019/05/05 Javascript
用vue写一个日历
2020/11/02 Javascript
Python map和reduce函数用法示例
2015/02/26 Python
简单介绍利用TK在Python下进行GUI编程的教程
2015/04/13 Python
Python对象转JSON字符串的方法
2016/04/27 Python
深入了解Python中pop和remove的使用方法
2018/01/09 Python
一份python入门应该看的学习资料
2018/04/11 Python
基于python实现学生管理系统
2018/10/17 Python
对python 合并 累加两个dict的实例详解
2019/01/21 Python
Python读写文件基础知识点
2019/06/10 Python
HTML5+CSS3网页加载进度条的实现,下载进度条的代码实例
2016/12/30 HTML / CSS
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
香港草莓网:Strawberrynet香港
2019/05/10 全球购物
大学生实习感言
2014/01/16 职场文书
小学一年级学生评语
2014/04/22 职场文书
英文求职信范文
2014/05/23 职场文书
小学生安全教育广播稿
2014/10/20 职场文书
故宫导游词
2015/01/31 职场文书
2015教师个人年度工作总结
2015/10/23 职场文书
Python爬取某拍短视频
2021/06/11 Python
Java 数组的使用
2022/05/11 Java/Android