面试题中有个这样题目 如何判断数组 大家都知道哪些方法
其实有时候 明明知道哪些方法 但在关键时候就是说不上来
typeof运算符
typeof会返回这个类型的字符串
上述看到 数组 对象 null 用typeof返回都是object 这种方法不能识别出是否为数组
原型contructor链方法
实例化有一个contructor属性 这个属性指向生成对象 数组的方法
上述看到 数组是由Array函数实例化的 对象由Object函数实例化来得
感觉这种方法是可以了 但是 constructor这个属性是可以被改写的
可以看到 这个是 变成了数组判断成了对象 所以这个方法也不是最好的
instanceof
这个方法是判断某个构造函数的prototype属性所指向的对象是否在另外一个要检测对象的原型链上
上述这种也不是特别好 判断不出是数组还是对象
通用的方法 toString
toString() 方法返回放映这个对象的字符串
可以看到只有对象返回对象类型
返回[object type] type代表对象的类型
判断对象用Object的toString的方法拿过来用
这个对象 toString方法是可以判断出是否为数组
但是这里注意下有个情况就是对象原型上toString() 也是可以更改的
总结
以上所述是小编给大家介绍的JS判断数组那点事。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持。