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 相关文章推荐
JavaScript事件列表解说
Dec 22 Javascript
Js sort排序使用方法
Oct 17 Javascript
jquery禁用右键单击功能屏蔽F5刷新
Mar 17 Javascript
JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)
May 20 Javascript
仿iframe效果Aajx文件上传实例
Nov 18 Javascript
使用原生js+canvas实现模拟心电图的实例
Sep 20 Javascript
浅析Vue中method与computed的区别
Mar 06 Javascript
深入理解Vue.js轻量高效的前端组件化方案
Dec 10 Javascript
使用Layer组件弹出多个对话框(非嵌套)与关闭及刷新的例子
Sep 25 Javascript
浅谈Vue.set实际上是什么
Oct 17 Javascript
浅谈Vue2.4.0 $attrs与inheritAttrs的具体使用
Mar 08 Javascript
JavaScript交换变量常用4种方法解析
Sep 02 Javascript
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
php中截取字符串支持utf-8
2007/01/18 PHP
PHP版自动生成文章摘要
2008/07/23 PHP
php加密算法之实现可逆加密算法和解密分享
2014/01/21 PHP
Symfony2框架学习笔记之HTTP Cache用法详解
2016/03/18 PHP
简单的js分页脚本
2009/05/21 Javascript
Javascript 作用域使用说明
2009/08/13 Javascript
读jQuery之七 判断点击了鼠标哪个键的代码
2011/06/21 Javascript
javascript实现简单的Map示例介绍
2013/12/23 Javascript
IE6下拉框图层问题探讨及解决
2014/01/03 Javascript
jQuery实现统计复选框选中数量
2014/11/24 Javascript
JS实现兼容性好,自动置顶的淘宝悬浮工具栏效果
2015/09/18 Javascript
Easyui form combobox省市区三级联动
2016/01/13 Javascript
JavaScript事件 "事件对象"的注意要点
2016/01/14 Javascript
理解JavaScript表单的基础知识
2016/01/25 Javascript
利用fecha进行JS日期处理
2016/11/21 Javascript
vue.js内置组件之keep-alive组件使用
2018/07/10 Javascript
详解小程序开发经验:多页面数据同步
2019/05/18 Javascript
Javascript数组及类数组相关原理详解
2020/10/29 Javascript
[17:36]VG战队纪录片
2014/08/21 DOTA
[01:35]辉夜杯战队访谈宣传片—iG.V
2015/12/25 DOTA
haskell实现多线程服务器实例代码
2013/11/26 Python
Python 元组(Tuple)操作详解
2014/03/11 Python
Python兔子毒药问题实例分析
2015/03/05 Python
Python连接SQLServer2000的方法详解
2017/04/19 Python
Linux RedHat下安装Python2.7开发环境
2017/05/20 Python
Python网络爬虫与信息提取(实例讲解)
2017/08/29 Python
python中logging库的使用总结
2017/10/18 Python
Python使用Scrapy保存控制台信息到文本解析
2017/12/27 Python
Python GUI自动化实现绕过验证码登录
2020/01/10 Python
怎样写留学自荐信
2013/11/11 职场文书
大学生家政服务项目创业计划书
2014/01/30 职场文书
英语教研活动总结
2014/07/02 职场文书
工程承包协议书
2014/10/20 职场文书
小学生差生评语
2014/12/29 职场文书
农业项目合作意向书
2015/05/08 职场文书
Python Pycharm虚拟下百度飞浆PaddleX安装报错问题及处理方法(亲测100%有效)
2021/05/24 Python