JS函数

斐波那契数列

// 数列:1 1 2 3 5 8...
function fibonacci(n) {
  if (n === 1 || n === 2) {
    return 1
  }
  return fibonacci(n - 1) + fibonacci(n - 2)
}

console.log(fibonacci(6))

函数声明VS函数表达式

/*
执行时机不同
函数表达式是在代码执行达到时被创建,仅仅是在那一刻起可用
函数声明被定义之前,它就可以被调用
	javascript准备脚本时,首先寻找全局函数声明,并创建这些函数
*/

头等函数:函数式编程

  • 函数可以被赋值给变量
  • 函数在变量之间来回传递
  • 作为另一个函数的参数
  • 作为另一个函数的返回值:柯里化
  • 将函数存储在另一个数据结构中

高阶函数

  • 接收一个或多个函数作为输入
  • 输出一个函数

立即执行函数

  • 第一部分定义了一个匿名函数,这个函数有自己的独立作用域

  • 第二部分是后面的(),表示这个函数被执行了

    (function(){
        // do some thing
    })()
    
    +function foo(){
        // do some thing
    }()
    

应用场景

  • 防止全局变量的命名冲突
posted @   转角90  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
点击右上角即可分享
微信分享提示