箭头函数:函数体内的this
对象,就是定义时所在的对象,而不是使用时所在的对象;
箭头函数绑定this对象,对象::箭头函数;(双冒号运算符);
箭头函数 obj::function,等价于普通函数 function().bind(obj);
函数的尾调用:就是指某个函数的最后一步是调用另一个函数。(只存在一个调用帧,避免栈溢出);
求阶乘普通写法:
function suns(n){
return n===1?1:n*suns(n-1)
}
尾调用写法:
function suns(n,sun=1){
return n===1?sun:suns(n-1,n*sun)
}