1. instanceof在判断数组是,即会把数组当做Array类型,又会把数组当做Object类型,都会返回true。要严格验证一个数组,最好是用constructor,能严格区分数组和对象。注意:大部分情况都可以用instanceof判断是否是数组,但是在判断一个变量是对象或非对象时,会存在坑,如:
if (arr instanceof Object) { //当arr可能是[1]或{id:1,name:"Ace"},当arr为[1]时会把arr
//instanceof Object会返回true,进而执行arr.id,从而报错。
return arr.id
} else {
return arr[0]
}