javascript数组之奇怪用法

今天用到javascript的数组时,发现一个非常见的写法:

var arr = ['a','b','c'];
for (
i in arr) {
      
console.log("tag"+i);
      
console.log(arr.push(i));  // 期望: 我也不知道这将会输出什么
}
输出结果:

tag0
4
tag1
5
tag2
 6


var
arr = ['a','b','c'];
for (
i in arr) {
      
console.log(arr.pop());  // 期望: c b a
}

输出结果:

c
b

不知道怎么解释这种现象,基本应该是数组本身也有一个指针,for语句和pop、push操作都在同时使用该指针,于是结果就不像我们想象的那样了。

var arr = ['a','b','c'];
for (
i in arr) {
   
delete arr[i];  // 注意理解delete 的含义
}

console.log(arr);  // 期望: []

输出结果:
[undefined, undefined, undefined]

留下评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据