Array.pop in Node跳过并忘记一个函数项

我有一个想法将代码存储在Node中的列表(数组),并执行它们,但是这比我想象的要困难:如果我在开始或结束时使用函数列表,则.pop.shift将删除但省略它并返回下一个元素:

 > l = [1, 75, 84, function() { console.log('aseuht') }] [ 1, 75, 84, [Function] ] > l.pop() 84 > l [ 1, 75 ] 

我在Node v0.4.9中注意到了这一点,但是在0.6.10中仍然存在。

有没有解决方法?

更新:我在GitHub上提出了一个问题 。

更新2:错误只出现在我的shell中,当我从独立脚本运行这些命令时,它正常工作。 所以这只是一个壳问题。

我只是在Node,Firefox和Chrome上试了一下,三者都能正常工作。

这里是我使用的代码:

 var l= [1, 75, 84, function() { console.log('aseuht'); }]; console.log(l); console.log(l.pop()); console.log(l); 

结果是:

 [ 1, 75, 84, [Function] ] [Function] [ 1, 75, 84 ] 

和JSFiddle: http : //jsfiddle.net/Q5M8M/

你使用的是什么版本的节点?