"use strict";
function sum(x, y){
if (y > 0){
return sum(x+1, y-1);
}else{
return x;
}
}
\
console.log(sum(1, 100000))
VM123:5 Uncaught RangeError: Maximum call stack size exceeded
at sum (:5:1)
at sum (:7:12)
at sum (:7:12)
at sum (:7:12)
at sum (:7:12)
at sum (:7:12)
at sum (:7:12)
at sum (:7:12)
at sum (:7:12)
at sum (:7:12)
发生溢出,如果用尾调用优化来说是不存在的,但是因为各个浏览器还不支持,所以运行的时候还是发生了溢出
看各个浏览器对es6属性支持的情况