首先感谢Dash 我再也不用到处乱找文档了
再次感谢日食记 让我的看到了世界的美好
好的 我们进入正题
注解 我所有的学习心得都建立在ECMAscript5之后
IE9之前的浏览器概不负责
javascript Array是一个好玩的对象
如何检测她呢 首先instanceof是个不错的方法
if (value instanceof Array) { }
不过根据javascript高级程序设计说 这样做 如果一个人重新构造了Array函数 你完了
so 这样
if(Arrays.isArray(value)) { }
现在我们要构造了
不过搞那些有啥意思呢
其实我关心这些构造方式时候产生的类型是否一样
var arr1 = []; var arr2 = new Array(); var arr3 = Array(); alert(typeof arr1); alert(typeof arr2); alert(typeof arr3);
好吧 都是object类型
大家都知道数组里有个length属性 那么她靠谱吗
var fruits = []; fruits.push(‘banana‘, ‘apple‘, ‘peach‘); console.log(fruits.length); // 3 fruits[5] = ‘mango‘; console.log(fruits[5]); // ‘mango‘ console.log(Object.keys(fruits)); // [‘0‘, ‘1‘, ‘2‘, ‘5‘] console.log(fruits.length); // 6
卧槽 明明只有4个元素 返回的是6
现在我尝试着修改length属性
fruits.length = 2; console.log(Object.keys(fruits)); // [‘0‘, ‘1‘] console.log(fruits.length); // 2
卧槽 我之前的数据呢
查看一下Array.length 居然是可写的
两个作用
循环数组 类似于foreach
消除不需要的数组 。。。 随便该改的
时间: 2024-10-31 01:01:30