var i = 0;
function fun(){
i++;
if(i < 10){
fun();
}else{
return i
}
}
console.log(fun());
输出:undefined
原因:没有return,函数会默认返回undefined。所以递归之后直接返回undefined,不会下一次递归
对于this的理解

注意:this指向一定要看函数调用时
举例:

关于 es7 includes
includes()用于判断一个数组是否包含一个指定的值,包含则true,不包含则返回false
等价于indexOf()
