关于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 处理 URL 的两个函数代码
Aug 13 Javascript
jquery 元素相对定位代码
Oct 15 Javascript
Javascript中克隆一个数组的实现代码
Dec 06 Javascript
jquerydom对象的事件隐藏显示和对象数组示例
Dec 10 Javascript
Jquery中&quot;$(document).ready(function(){ })&quot;函数的使用详解
Dec 30 Javascript
ExtJS如何设置与获取radio控件的选取状态
Jan 22 Javascript
js实现黑色简易的滑动门网页tab选项卡效果
Aug 31 Javascript
jQuery ajax提交Form表单实例(附demo源码)
Apr 06 Javascript
json传值以及ajax接收详解
May 24 Javascript
第八篇Bootstrap下拉菜单实例代码
Jun 21 Javascript
JavaScript String(字符串)对象的简单实例(推荐)
Aug 31 Javascript
React简单介绍
May 24 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 第二节 数据类型之数值型
2012/04/28 PHP
php获取开始与结束日期之间所有日期的方法
2016/11/29 PHP
php 三大特点:封装,继承,多态
2017/02/19 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
JavaScript 高级语法介绍
2009/06/15 Javascript
javascript 获取select下拉列表值的代码
2009/09/07 Javascript
js setattribute批量设置css样式
2009/11/26 Javascript
jquery动态加载select下拉框示例代码
2013/12/10 Javascript
JS回调函数的应用简单实例
2014/09/17 Javascript
JavaScript取得WEB安全颜色列表的方法
2015/07/14 Javascript
jQuery实现的网页左侧在线客服效果代码
2015/10/23 Javascript
Javascript原型链的原理详解
2016/01/05 Javascript
jquery实现全选功能效果的实现代码
2016/05/05 Javascript
Bootstrap作品展示站点实战项目2
2016/10/14 Javascript
jQuery根据ID、CLASS、等获取对象的实例
2016/12/04 Javascript
vue实现表格数据的增删改查
2017/07/10 Javascript
AjaxUpLoad.js实现文件上传
2018/03/05 Javascript
JS中注入eval, Function等系统函数截获动态代码
2019/04/03 Javascript
详解vue-cli中使用rem,vue自适应
2019/05/06 Javascript
electron踩坑之remote of undefined的解决
2020/10/06 Javascript
python回调函数的使用方法
2014/01/23 Python
Python多线程和队列操作实例
2015/06/21 Python
Python中用post、get方式提交数据的方法示例
2017/09/22 Python
python 随机森林算法及其优化详解
2019/07/11 Python
使用Python快乐学数学Github万星神器Manim简介
2019/08/07 Python
Python实现图片裁剪的两种方式(Pillow和OpenCV)
2019/10/30 Python
python interpolate插值实例
2020/07/06 Python
django前端页面下拉选择框默认值设置方式
2020/08/09 Python
护士自我评价
2014/02/01 职场文书
2014年五一促销活动方案
2014/03/09 职场文书
党的群众路线教育实践活动个人对照检查材料范文
2014/09/25 职场文书
幼儿园教师个人总结
2015/02/05 职场文书
详解Python类和对象内容
2021/06/22 Python
Python 语言实现六大查找算法
2021/06/30 Python
idea 在springboot中使用lombok插件的方法
2021/08/02 Java/Android
Vue.Draggable实现交换位置
2022/04/07 Vue.js