代码
// Generated by CoffeeScript 1.4.0
var a, f, log;
a = 1;
log = console.log;
f = function(b) {
log(b);
return process.nextTick(function() {
return f(b + 1);
});
};
f(a);
居然就这么执行了… 不是说 JS 没有尾递归优化的么,
而且作用域里的 b
不是也要保存的么… 可是没有栈溢出的报错
代码
// Generated by CoffeeScript 1.4.0
var a, f, log;
a = 1;
log = console.log;
f = function(b) {
log(b);
return process.nextTick(function() {
return f(b + 1);
});
};
f(a);
居然就这么执行了… 不是说 JS 没有尾递归优化的么,
而且作用域里的 b
不是也要保存的么… 可是没有栈溢出的报错