有人能解释一下为什么下面的结果不同吗?
// test one
function computeMaxCallStackSize() {
try {
return computeMaxCallStackSize() + 1;
} catch (e) {
return 1;
}
}
console.log(computeMaxCallStackSize());
结果为17958
// test two
function computeMaxCallStackSize() {
try {
return 1 + computeMaxCallStackSize();
} catch (e) {
return 1;
}
}
console.log(computeMaxCallStackSize());
结果是15714
当函数'computeMaxCallStackSize'的位置不同时,结果也会不同。原因是什么?非常感谢!
运行环境:
node.js v6.9.1
操作系统:Win7
7.3.0 darwin x64
上结果是相同的。 - georgLinux x86
上尝试过了,但仍然得到了不同的结果。 - myzhou