回调函数
定义:作为参数使用的函数称为回调函数
setInterval(function () { }, 1000);
btn.addEventListener('click', function () { });
arr.sort(function () { });
$btn.on('click', function () {});
$(function () { });
闭包函数
概念:能够(从外面)操作私有变量的函数,称为闭包函数
作用:确保数据安全(当某个数据需要在程序中多次使用时,才有必要设置闭包函数保存数据)
function fun () {
// 声明了一个私有变量
var sum = Math.random();
// 设置一个子函数,可以访问fun中的局部变量sum
function fun2 () {
console.log(sum);
}
return fun2;
}
// result在全局作用域中接收了fun内部的子函数fun2
var result = fun();
result();
result();
result();
result();
递归函数
概念:在函数中调用自身的函数形式。
问题:
死循环:适当的时机结束递归
性能问题:适当减少执行次数
//斐波那契数列
var getFB = (function () {
// obj设置在局部作用域中,称为私有变量
var obj = {
1 : 1,
2 : 1
};
// 将闭包函数getFB返回到自调用函数外,作为闭包函数使用
function getFB2 (n) {
console.log('执行了函数');
return obj[n] ? obj[n] : obj[n] = getFB2(n - 1) + getFB2(n - 2);
}
return getFB2;
})();
console.log(getFB(10)); // 55
本文深入探讨了JavaScript中的回调函数、闭包函数和递归函数的概念及应用。详细解释了如何使用回调函数进行事件监听和定时任务,闭包函数如何保护和操作私有变量,以及递归函数在解决复杂问题如斐波那契数列时的使用方法。

851

被折叠的 条评论
为什么被折叠?



