关于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 相关文章推荐
通过js脚本复制网页上的一个表格的不错实现方法
Dec 29 Javascript
jquery中one()方法的用法实例
Jan 16 Javascript
javascript实现手机震动API代码
Aug 05 Javascript
js模仿php中strtotime()与date()函数实现方法
Aug 11 Javascript
JS实现密码框的显示密码和隐藏密码功能示例
Dec 26 Javascript
深入理解React高阶组件
Sep 28 Javascript
vue 项目中使用Loading组件的示例代码
Aug 31 Javascript
vue组件数据传递、父子组件数据获取,slot,router路由功能示例
Mar 19 Javascript
详解vue后台系统登录态管理
Apr 02 Javascript
vue filter 完美时间日期格式的代码
Aug 14 Javascript
Layui动态生成select下拉选择框不显示的解决方法
Sep 24 Javascript
浅谈vuex中store的命名空间
Nov 08 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
Oracle Faq(Oracle的版本)
2006/10/09 PHP
PHP中查询SQL Server或Sybase时TEXT字段被截断的解决方法
2009/03/10 PHP
php判断目录存在的简单方法
2019/09/26 PHP
JavaScript 继承详解(四)
2009/07/13 Javascript
基于JQuery框架的AJAX实例代码
2009/11/03 Javascript
extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
2013/04/02 Javascript
nodejs之请求路由概述
2014/07/05 NodeJs
JS实现页面超时后自动跳转到登陆页面
2015/01/19 Javascript
javascript实现Table间隔色以及选择高亮(和动态切换数据)的方法
2015/05/14 Javascript
JavaScript实现瀑布流布局
2020/06/28 Javascript
Javascript简写条件语句(推荐)
2016/06/12 Javascript
Bootstrap编写一个同时适用于PC、平板、手机的登陆页面
2016/06/30 Javascript
jQuery中的100个技巧汇总
2016/12/15 Javascript
jQuery事件与动画基础详解
2017/02/23 Javascript
jQuery动态移除和添加背景图片的方法详解
2017/03/07 Javascript
Node.js  REPL (交互式解释器)实例详解
2017/08/06 Javascript
Vue-Router实现组件间跳转的三种方法
2017/11/07 Javascript
jQuery Validate插件ajax方式验证输入值的实例
2017/12/21 jQuery
python正则分组的应用
2013/11/10 Python
Python multiprocessing.Manager介绍和实例(进程间共享数据)
2014/11/21 Python
Python多线程编程(四):使用Lock互斥锁
2015/04/05 Python
Python文件如何引入?详解引入Python文件步骤
2018/12/10 Python
Python 字符串、列表、元组的截取与切片操作示例
2019/09/17 Python
django自定义模板标签过程解析
2019/12/14 Python
关于Kotlin中SAM转换的那些事
2020/09/15 Python
Python+unittest+DDT实现数据驱动测试
2020/11/30 Python
介绍一下EJB的分类及其各自的功能及应用
2016/08/23 面试题
中学生学习生活的自我评价
2013/10/26 职场文书
门卫岗位职责
2013/11/15 职场文书
网页设计个人找工作求职信
2013/11/28 职场文书
大学生的网络创业计划书
2013/12/26 职场文书
品酒会策划方案
2014/05/26 职场文书
自主招生学校推荐信
2014/09/26 职场文书
银行反洗钱宣传活动总结
2015/05/08 职场文书
导游词之广西漓江
2019/11/02 职场文书
PYTHON InceptionV3模型的复现详解
2022/05/06 Python