Skip to content
Shimon's BlogShimon's Blog
主页
杂谈
  • 主页
      • 代码笔记
          • 代码学习教程
              • JavaScript 教程
                  • 函数
                    • generator
                      • map & reduce
                        • this 的指向
                          • 函数介绍
                            • 函数作用域
                              • 函数的声明
                                • 函数的属性和方法
                                  • 函数的调用
                                    • 递归调用
                                    • 箭头函数
                                      • 解构赋值
                                        • 闭包
                                          • 高阶函数
                                          • 错误处理
                                          • 如何学习一门计算机语言

                                        函数的调用

                                        Shimon Zhan2019年10月2日
                                        • JavaScript
                                        小于 1 分钟

                                        此页内容
                                        • 递归调用

                                        调用函数时,要使用圆括号运算符。圆括号之中,可以加入函数的参数。

                                        abs(10); // 返回 10
                                        abs(-9); // 返回 9
                                        

                                        由于 JavaScript 允许传入任意个参数而不影响调用,因此传入的参数比定义的参数多也没有问题,虽然函数内部并不需要这些参数:

                                        abs(10, "blablabla"); // 返回 10
                                        abs(-9, "haha", "hehe", null); // 返回 9
                                        

                                        传入的参数比定义的少也没有问题:

                                        abs(); // 返回 NaN
                                        

                                        此时 abs(x) 函数的参数 x 将收到 undefined,计算结果为 NaN。

                                        要避免收到 undefined,可以对参数进行检查:

                                        function abs(x) {
                                          if (typeof x !== "number") throw "Not a number";
                                        
                                          if (x >= 0) return x;
                                          else return -x;
                                        }
                                        

                                        # 递归调用

                                        函数可以调用自身,这就是递归(recursion)。下面就是通过递归,计算斐波那契数列的代码。

                                        function fib(num) {
                                          if (num === 0) return 0;
                                          if (num === 1) return 1;
                                          return fib(num - 2) + fib(num - 1);
                                        }
                                        
                                        fib(6); // 8
                                        

                                        上面代码中,fib 函数内部又调用了 fib,计算得到斐波那契数列的第 6 个元素是 8。

                                        上次编辑于: 2022/4/19 07:13:07
                                        贡献者: ShimonZhan
                                        上一页
                                        函数的属性和方法
                                        下一页
                                        箭头函数
                                        Copyright © 2021-present Shimon Zhan