全国咨询热线:18720358503

我的跑团小程序_判断js数据类型的函数实例详解

类别:媒体报道 发布时间:2021-01-07 浏览人次:

判断js数据类型的函数实例详解       这篇文章主要介绍了一个判断js数据类型的函数,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

凡科抠图:下面看下js 判断各种数据类型

了解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  undefined  object和函数类型 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]

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

  constructor也能判断数据类型:

  如:

''.constructor==String 
 [].constructor==Array
 var obj= new Object() 
 obj.constructor==Object

  其实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];
 ........
 }

  这个获取类型的方法有个简单的写法:

var Type = (function() {
 var type = {};
 var typeArr = ['String', 'Object', 'Number', 'Array','Undefined', 'Function', 'Null', 'Symbol'];
 for (var i = 0; i typeArr.length; i++) {
 (function(name) {
 type['Is' + name] = function(obj) {
 return Object.prototype.toString.call(obj) == '[object ' + name + ']';
 })(typeArr[i]);
 return type;
})(); 

调用方法:Type.IsFunction(function() {})  Type.IsObject({})。。。。。

Type.Is.....

总结

以上所述是小编给大家介绍的判断js数据类型的函数实例详解,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!


推荐阅读

我的跑团小程序_判断js数据类型的函数实例详解

分辨js数据信息种类的涵数案例详细说明 本文关键详细介绍了一个分辨js数据信息种类的涵数,文中根据案例编码给大伙儿详细介绍的十分详尽,具备一定的参照效仿使用价值,必...

2021-01-07
互联网安全问题和缺陷分析

互连网安全性难题为何那么比较严重?这种安全性难题是如何造成的呢?综合性技术性和管理方法等多方面面要素,能够梳理为四个层面:互连网的对外开放性、本身的敏感性、进攻的广泛...

2021-01-07
低价网站建设中的价格是怎么低的?

低价网站建设现在被广告商们乱打广告,不管是优化的网站还是竞价的网站,大篇幅的都看好了低价网站建设这个市场,都把文章在这方面大肆渲染。竞价广告也是打的人眼花缭乱。做...

2021-01-07
怎么做一个理解客户的设计师?

如何做一个了解顾客的设计方案师?:让顾客喜爱的设计方案是如何的设计方案?要想做客户合意的设计方案好像也是设计方案师们工作中中最期待的,但是在设计方案的全过程中好像...

2021-01-07
危害网站建设周期时间时间的要素

目前很多企业在公司建网站时,一般会存在建设网站周期时间時间的疑虑,大部分分所有企业都期待建设网站周期时间時间能够越低越高,那般便可以尽早公布交货应用。而从建设网站...

2021-01-07
广州凡科互联网科技股份有限公司招聘游戏动作

招聘人数:12职位信息1、配合产品美术总监制定游戏动作风格,输出动作设计模版和规范;2、参与具体动作设计任务,审核外包提交的动作设计稿,指导外包制作;3、负责游戏中各类角...

2021-01-07
X

400-8700-61718720358503
企业邮箱2639601583@qq.com
官方微信