函数声明
function name([param[, param[, ... param]]]) { statements }
函数表达式
var myFunction = function name([param[, param[, ... param]]]) { statements }
当函数只使用一次时,通常使用IIFE (Immediately Invokable Function Expressions)。
(function() { statements })();
函数生成器声明(function* 语句)
function* name([param[, param[, ...param]]]) { statements }
函数生成器表达式(function* 表达式)
function* [name]([param] [, param] [..., param]) { statements }
箭头函数表达式
([param] [, param]) => { statements } param => expression
注: 以下两类MDN文档不推荐使用
Function构造函数
new Function (arg1, arg2, ... argN, functionBody)
生成器函数的构造函数
new GeneratorFunction (arg1, arg2, ... argN, functionBody)
函数参数
默认参数
function [name]([param1[ = defaultValue1 ][, ..., paramN[ = defaultValueN ]]]) { statements }
剩余参数
function(a, b, ...theArgs) { // ... }
arguments对象
- arguments.callee
- arguments.caller
- arguments.length
参考链接
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions