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/
你使用的是什么版本的节点?