博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
类型检测汇总!typeof 和 instanceof 和isArray
阅读量:6294 次
发布时间:2019-06-22

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

var arr = [1, 2]; alert(arr instanceof Array);//true

以上老方法判断是否是数组,存在一个问题,就是它只适用于单执行环境(窗口),如果该窗口有其他框架(比如 iframe)则会出问题

比如:

html: script:  document.querySelector('#result').src = 'demo5.html';//下面是deml5界面代码 alert(parent.arr instanceof Array);//false alert(parent.arr instanceof parent.window.Array);//true  这样才是true

 另外  js5 新增判断方法  是 Array.isArray(value) 统一了判断方法

 

typeof 只适用于检测基本数据类型,引用类型 统一都是object 所以,没什么用处对于检测引用类型时候

//js中一共六种数据类型    //5种基本类型 Undefined Null Boolean String Number    //一种复杂类型 Object    //type of 共会返回六种结果        //undrfined-- 如果这个值未定义        //boolean-- 如果这个值是布尔值        //string-- 如果这个值字符串        //number-- 如果这个值是数字        //object-- 如果这个值是对象或者null(null 被看成是一个空对象的引用)        //function-- 如果这个值是函数    var str= 'aa';//typeof---string    var num= 1;//typeof---number    var b= true;//typeof---boolean    var u;//typeof---undefined    //以上是基本类型    var func= function(){}//typeof---function    //以上是比较特殊的对象类型--函数类型    var n=null;//typeof---object    var o= new Object();//typeof---object    var arr= [1,2];//typeof---object    //以上是对象类型        //所以 typeof 只适合检测基本类型 和 函数

  

  # 严格判断方法:Object.prototype.toString.call([]); //"[object Array]"

 

总结:typeof 用于判断基本类型和function

   instanceof  用于单一环境下 对象类型(如果用基本类型调用此方法 始终返回false)

   isArray 可以跨环境判断

 

转载于:https://www.cnblogs.com/WhiteHorseIsNotHorse/p/6261770.html

你可能感兴趣的文章
OSPF的route-id选举
查看>>
IT绩效管理消除IT与业务之间的隔阂
查看>>
解决 MSChart控件 X轴坐标显示不全的问题
查看>>
在C#中选择“.NET研究”正确的集合进行编码
查看>>
再次分享一个多选文件上传方案“.NET研究”
查看>>
PySide教程:一个简单的点击“.NET研究”按钮示例
查看>>
find命令
查看>>
网络通讯程序整理(一)
查看>>
[转载]一站式WPF--Window
查看>>
poj-1159 Palindrome **
查看>>
VS2010/VS 2013 删除空行
查看>>
解决linux ssh登陆缓慢问题
查看>>
将二叉查找树转化为链表的代码实现
查看>>
[转]宽字符的介绍
查看>>
UIScrollView用法
查看>>
SQL 判断两个时间段是否有交叉
查看>>
python打包_cx_freeze
查看>>
web.config/app.config敏感数据加/解密的二种方法
查看>>
PHP监控linux服务器负载
查看>>
delphi 入门教程
查看>>