千锋web前端开发项目教程_1000集完全零基础入门HTML5+CSS3+JS到

函数调用自身的函数,有结束条件,这个函数称为递归函数
例:斐波那契数列
function fibo(n){
if( n==1 || n==2) return 1
return fibo(n-1) + fibo(n-2)
}
其他案例
深拷贝
function deepClone(o) {
if (Array.isArray(o)) {
return o.map(item => deepClone(item));
} else if (typeof o == 'object') {
let result = {};
for (let k in o) {
result[k] = deepClone(o[k]);
}
return result;
} else {
return o;
}
}
函数柯理化
function curry(fn) {
return function fun(...arg1) {
if (arg1.length >= fn.length) {
fn(...arg1);
} else {
return function (...arg2) {
return fun(...arg1, ...arg2);
}
}
}
}