今天用到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]