js 判断各种数据类型的简单方法(推荐)


Posted in Javascript onAugust 29, 2016

了解js的都知道, 有个typeof  用来判断各种数据类型,有两种写法:typeof   xxx   ,typeof(xxx)

 如下实例:

typeof   2      输出   number

typeof   null   输出   object

typeof   {}    输出   object

typeof    []    输出   object

typeof   (function(){})   输出  function

typeof    undefined  输出  undefined

typeof   '222'   输出    string

typeof  true     输出     boolean

这里面包含了js里面的五种数据类型  number   string    boolean   undefinedobject和函数类型 function

看到这里你肯定会问了:我怎么去区分对象,数组和null呢?

接下来我们就用到另外一个利器:Object.prototype.toString.call

这是对象的一个原生原型扩展函数,用来更精确的区分数据类型。

我们来试试这个玩儿意儿:

var   gettype=Object.prototype.toString

gettype.call('aaaa')输出      [object String]

gettype.call(2222) 输出      [object Number]

gettype.call(true)  输出      [object Boolean]

gettype.call(undefined)  输出      [object Undefined]

gettype.call(null)  输出   [object Null]

gettype.call({})   输出   [object Object]

gettype.call([])    输出   [object Array]

gettype.call(function(){})     输出   [object Function]

看到这里,刚才的问题我们解决了。

其实js 里面还有好多类型判断 

[object HTMLDivElement]   div 对象 ,   
[object HTMLBodyElement]  body 对象,
[object Document](IE)或者 
[object HTMLDocument](firefox,google) ......

各种dom节点的判断,这些东西在我们写插件的时候都会用到。

可以封装的方法如下:

var  gettype=Object.prototype.toString

var  utility={

isObj:function(o){

    return  gettype.call(o)=="[object Object]";

 },

     isArray:function(o){

        return  gettype.call(o)=="[object Array]";

     },

     isNULL:function(o){

        return  gettype.call(o)=="[object Null]";

     },

     isDocument:function(){

        return  gettype.call(o)=="[object Document]"|| [object HTMLDocument];

     }

     ........

}

以上这篇js 判断各种数据类型的简单方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery CSS选择器笔记
Mar 29 Javascript
在一个js文件里远程调用jquery.js会在ie8下的一个奇怪问题
Nov 28 Javascript
一些javascript一些题目的解析
Dec 25 Javascript
jquery 结合C#后台的数组对文章的关键字自动添加链接的代码
Jul 15 Javascript
原生JS实现响应式瀑布流布局
Apr 02 Javascript
浅谈Node.js中的定时器
Jun 18 Javascript
使用struts2+Ajax+jquery验证用户名是否已被注册
Mar 22 Javascript
深入理解Angularjs向指令传递数据双向绑定机制
Dec 31 Javascript
jQuery实现弹窗下底部页面禁止滑动效果
Dec 19 jQuery
解决vue中无法动态修改jqgrid组件 url地址的问题
Mar 01 Javascript
JavaScript 实现HTML DOM增删改查操作的常见方法详解
Jan 04 Javascript
Vue3如何理解ref toRef和toRefs的区别
Feb 18 Vue.js
Web打印解决方案之证件套打的实现思路
Aug 29 #Javascript
浅谈js数据类型判断与数组判断
Aug 29 #Javascript
判断js的Array和Object的实现方法
Aug 29 #Javascript
基于MVC+EasyUI的web开发框架之使用云打印控件C-Lodop打印页面或套打报关运单信息
Aug 29 #Javascript
jquery根据一个值来选中select下的option实例代码
Aug 29 #Javascript
JQuery动态添加Select的Option元素实现方法
Aug 29 #Javascript
javascript如何创建对象
Aug 29 #Javascript
You might like
smarty实例教程
2006/11/19 PHP
Fine Uploader文件上传组件应用介绍
2013/01/06 PHP
thinkphp3.2.3版本的数据库增删改查实现代码
2016/09/22 PHP
Yii2框架视图(View)操作及Layout的使用方法分析
2019/05/27 PHP
jQuery温习篇 强大的JQuery选择器
2010/04/24 Javascript
jQuery实现单行文字间歇向上滚动源代码
2013/06/02 Javascript
JavaScript移除数组元素减少长度的方法
2013/09/05 Javascript
JS实现判断滚动条滚到页面底部并执行事件的方法
2014/12/18 Javascript
javascript字符串与数组转换汇总
2015/05/26 Javascript
javascript删除数组重复元素的方法汇总
2015/06/24 Javascript
JavaScript两个变量交换值的实现方法
2017/03/01 Javascript
详解node.js搭建代理服务器请求数据
2017/04/08 Javascript
jquery之基本选择器practice(实例讲解)
2017/09/30 jQuery
js实现各浏览器全屏代码实例
2018/07/03 Javascript
微信小程序开发之自定义tabBar的实现
2018/09/06 Javascript
vue 点击按钮实现动态挂载子组件的方法
2018/09/07 Javascript
webpack-url-loader 解决项目中图片打包路径问题
2019/02/15 Javascript
Vue2(三)实现子菜单展开收缩,带动画效果实现方法
2019/04/28 Javascript
layui动态渲染生成左侧3级菜单的方法(根据后台返回数据)
2019/09/23 Javascript
[01:14]3.19DOTA2发布会 三代刀塔人第二代
2014/03/25 DOTA
python算法学习之基数排序实例
2013/12/18 Python
Python开发之快速搭建自动回复微信公众号功能
2016/04/22 Python
Python实现获取前100组勾股数的方法示例
2018/05/04 Python
python实现字符串完美拆分split()的方法
2019/07/16 Python
python接口调用已训练好的caffe模型测试分类方法
2019/08/26 Python
python 实现单通道转3通道
2019/12/03 Python
TensorFlow打印输出tensor的值
2020/04/19 Python
Pymysql实现往表中插入数据过程解析
2020/06/02 Python
信息部岗位职责
2013/11/12 职场文书
2014年小学植树节活动方案
2014/03/02 职场文书
房屋租赁协议书(标准版)
2014/10/02 职场文书
大学生见习报告范文
2014/11/03 职场文书
2014年协会工作总结
2014/11/22 职场文书
房地产销售主管岗位职责
2015/02/13 职场文书
志愿者工作心得体会
2016/01/15 职场文书
2016北大自主招生自荐信模板
2016/01/28 职场文书