我有一个想法是在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中。
是否有解决方法?
更新:我提交了issue on GitHub。
更新2:该错误仅存在于我的shell中,当我从独立脚本运行这些命令时,它可以正常工作。所以这只是一个shell问题。
答案 0 :(得分:4)
我刚刚在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/
您使用的是哪个版本的Node?