函数的调用

Mr.Hope ... 2019-10-02 JavaScript 小于 1 分钟

# 函数的调用

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

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

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

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

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

abs(); // 返回 NaN
1

此时 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;
}
1
2
3
4
5
6

# 递归调用

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

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

fib(6); // 8
1
2
3
4
5
6
7

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