Function

函数是一个可以被其他代码或其自身调用的代码片段,或者是一个指该函数的变量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

了解更多

技术参考

文档标签和贡献者