函数是一个可以被其他代码或其自身调用的代码片段,或者是一个指该函数的变量variable 。 .当函数被调用时, 参数arguments 作为输入传递到函数,并且函数可以可选地返回输出。 在 JavaScript JavaScript中函数也是一个对象object.
函数名是作为函数声明或函数表达式的一部分声明的标识符 identifier。函数的作用域scope取决于函数名是一个声明还是表达式。
不同类型的函数
匿名函数是一个没有函数名的函数
function () {}
命名函数是具有函数名称的函数:
function foo() {}
内部函数是另一个函数内的函数(square
在这种情况下). 外部函数是包含一个函数的函数 (addSquares
包含一个函数):
function addSquares(a,b) { function square(x) { return x * x; } return square(a) + square(b); }
递归函数是调用自身的函数. 看 recursion.
function loop(x) { if (x >= 10) return; loop(x + 1); }
立即调用函数表达式(IIFE)是一个函数, 其在函数被加载到浏览器的编译器之后直接调用的。. 识别IIFE的方法是通过在函数声明的末尾定位额外的左和右括号。 这种类型的函数表达式有很多优点,但是这超出了课程的范围(PS: wiki)。
(function foo1() { console.log("立即调用函数表达式"); }()); //道格拉斯·克罗克福德的风格 (function foo2() { console.log("立即调用函数表达式"); })();
如果你想更多地了解IIFE, 请查看以下的维基百科的页面: Immediately Invoked Function Expression