函数声明 | 函数表达式的区别
使用关键字function
声明一个函数。
函数声明不要求一定要放于调用(函数)前面(因为声明本身会置顶..)。
函数表达式就务必需要把声明放于调用(函数)前面了。否则没法运行。
变量的声明前置 | 函数的声明前置
- 在一个作用域下,var 声明的变量和function 声明的函数会前置
arguments
- arguments 是一个类似数组的对象, 对应于传递给函数的参数(它包含了函数的所有实参)。
-
arguments对象是所有函数中可用的局部变量。你可以使用arguments对象在函数中引用函数的参数。此对象包含传递给函数的每个参数的条目,第一个条目的索引从0开始。例如,如果一个函数传递了三个参数,你可以参考它们如下:
arguments对象不是一个 Array
。它类似于数组,但除了 长度之外没有任何数组属性。例如,它没有 pop 方法。但是它可以被转换为一个真正的数组::
权威链接:🍼🍼🍼🍼🍼🍼🍼🍼🍼
函数"重载"的实现
-
重载是函数具有相同的名字,但是由于传入的参数不同,执行不同操作。在js中没有类似其他语言的重载,因为同名函数会被覆盖。但是js可以通过在函数内部对传入参数进行判断来达到重载的目的。
立即执行函数表达式&作用。
-
其作用立即执行函数能够立即执行,这样可以做到隔离作用域,避免变量污染全局。
递归实现 n! (递归)