/*
* 什么是伪数组:
* 1、伪数组是一个对象
* 2、这个对象必须要有length属性
* 3、如果这个对象的length不为0,那么必须要有按照下标存储的数据
* */
// 不是伪数组
var obj = {};
var obj2 = { length: 3 };
// 是伪数组
var obj3 = { length: 0 };
var obj4 = { 0: ‘888‘, length: 1 };
var obj5 = { 99: ‘abc‘, length: 100 }
/*
* 如何判断数据是不是伪数组:
* 1、不是对象直接干掉
* 2、是对象,没有length属性也干掉
* 3、有length,值必须是number类型
* 4、length值是number类型,并且值不为0,这个对象还得按照下标存储数据
* */
/*
* 如何判断数据是不是真数组:
* 1、数据 instanceof Array
* 2、Object.prototype.toString.call( 数据 ) === ‘[object Array]‘
* */
原文:http://www.cnblogs.com/luxiaoxiao/p/6099471.html