博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js判断变量数据类型
阅读量:7093 次
发布时间:2019-06-28

本文共 1061 字,大约阅读时间需要 3 分钟。

hot3.png

js判断变量数据类型的方法主要有以下几种:

变量: 

var a= 'abc',    b= '123',    c= undefined,    d= 123,    e= Number('qwe'),    f= function(){},    g= [];

1、typeof方法: 

        用法: typeof a;

        缺点:typeof g;  //  'object'

2、instanceof:

        用法: a instanceof 'string';    // true

                    g instanceof Array;     // true

        缺点:比如在iframe框架中,如果在子iframe中定义了一个数组,再将这个数组传递给父iframe中的一个变量,这是再次用instanceof判断数据类型时,就无效了。array属于引用型数据,在传递过程中,仅仅是引用地址的传递。每个页面的Array原生对象所引用的地址是不一样的,在子页面声明的array,所对应的构造函数,是子页面的Array对象;父页面来进行判断,使用的Array并不等于子页面的Array;

3、Object.prototype.toString.call() 或者 Object.prototype.toString.apply()方法;

        两种用法相同:

Object.prototype.toString.call(a);     //"[object String]"Object.prototype.toString.call(b);     //"[object String]"Object.prototype.toString.call(c);     //"[object Undefined]"Object.prototype.toString.call(d);     //"[object Number]"Object.prototype.toString.call(e);     //"[object Number]"Object.prototype.toString.call(f);     //"[object Function]"Object.prototype.toString.call(g);     //"[object Array]"

这也是最完美的一种方式,但是需要注意的是,对于NaN来说,它属于Number类型。

转载于:https://my.oschina.net/trueloveforever/blog/1558936

你可能感兴趣的文章
Dubbo学习(一)
查看>>
我的友情链接
查看>>
类的继承
查看>>
Objective-C消息发送和消息转发机制
查看>>
Quartz 开源任务调度框架
查看>>
SASS界面编译工具——Koala的使用
查看>>
JSP放入Jar包支持
查看>>
润乾报表使用json数据源的方法改进
查看>>
小蚂蚁学习PS切图之基础操作(2)——工具栏的介绍
查看>>
【Mybatis】- sqlSession工作流程
查看>>
mysql str_to_date字符串转换为日期
查看>>
jsp---EL运算符
查看>>
剥去中国崛起的外衣(画皮)!
查看>>
Oracle中的substr方法
查看>>
Mysql日期和时间函数总结
查看>>
创建逻辑卷 安装lvm命令
查看>>
不使用root身份运行Wireshark
查看>>
PageRank算法计算网页的价值
查看>>
js面向对象
查看>>
DEDECMS 修改广告链接地址
查看>>