arguments
arguments对象里面保存这方法的所有参数
arguments对象里面有个一个callee方法,该方法指向当前方法本身
定义稳定的递归函数:
function calc(num){
if(num===1){
return num
}
// 因为arguments.callee 就时 指向当前方法本身。
// 这样的做的好处是,防止外部方法名修改后,导致递归调用失效。
let sum = num + arguments.callee(num-1)
return sum
}
分页方法
//定义一个分页方法,方法的三个参数分别是:原始数组,页码,每页数量
function pageData(arr,pageIndex,pageSize){
//思路:就是对原始数组中的数据,做截取
//定义截取数据的起始位置
let start = (pageIndex-1)*pageSize
//定义截取数据的结束位置
let end = start+pageSize
return arr.slice(start,end)
}