判断数组的方法
数组也是对象,其中数组拥有length属性,只是在正常的人为未干预的情况下,length等于最大索引+1. 很多数组的方法实际上是处理对象的方法
var arr = [1,2,3,1];
var arr2 = [{ abac : 1, abc : 2 }];
function isArrayFn(value){
if (typeof Array.isArray === "function") {
return Array.isArray(value);
}else{
return Object.prototype.toString.call(value) === "[object Array]";
}
}
alert(isArrayFn(arr));// true
alert(isArrayFn(arr2));// true
数组的相关知识 length 以及相关误区 不多BB 都在图里
var foo = [1,2,,,3]
console.dir(foo)
delete foo[4]
console.dir(foo)
foo[1] = undefined
console.dir(foo)
结果依次为
简单说一下console.log console.dir 其实没什么区别,正常都用log 想要更加清晰地表示JS对象属性就用dir
插播一个小知识点 const 实际上保证的是保存变量的内存地址不变(理解)