JavaScript 函数有定义的与function
关键字。
你可以使用一个函数宣言或一个函数表达。
在本教程的前面部分,您了解到函数是宣布使用以下语法:
function
functionName(
parameters) {
//
code to be executed
}
声明的函数不会立即执行。它们是"saved for later use",并且将在稍后被调用(调用)时执行。
分号用于分隔可执行的 JavaScript 语句。
既然有一个函数宣言不是可执行语句,因此不常见以分号结尾。
JavaScript 函数也可以使用表达。
函数表达式可以存储在变量中:
将函数表达式存储在变量中后,该变量可以用作函数:
上面的函数实际上是一个匿名函数(没有名称的函数)。
存储在变量中的函数不需要函数名称。它们总是使用变量名来调用(调用)。
上面的函数以分号结尾,因为它是可执行语句的一部分。
正如您在前面的示例中所看到的,JavaScript 函数是使用function
关键字。
还可以使用名为的内置 JavaScript 函数构造函数来定义函数Function()
。
您实际上不必使用函数构造函数。上面的例子和下面的写法是一样的:
大多数时候,您可以避免使用new
JavaScript 中的关键字。
在本教程的前面部分,您了解了 "hoisting" (JavaScript 提升)。
提升是 JavaScript 的默认移动行为声明到当前范围的顶部。
提升适用于变量声明和函数声明。
因此,JavaScript 函数可以在声明之前调用:
myFunction(5);
function myFunction(y) {
return y * y;
}
使用表达式定义的函数不会被提升。
函数表达式可以做成"self-invoking"。
自调用表达式会自动调用(启动),无需被调用。
如果表达式后面跟有(),函数表达式将自动执行。
您不能自调用函数声明。
您必须在函数周围添加括号以表明它是函数表达式:
上面的函数实际上是一个匿名自调用函数(没有名称的函数)。
JavaScript 函数可以用作值:
JavaScript 函数可以在表达式中使用:
这个typeof
JavaScript 中的运算符对于函数返回 "function"。
但是,JavaScript 函数最好被描述为对象。
JavaScript 函数两者兼而有之特性和方法。
这个arguments.length
属性返回调用函数时收到的参数数量:
这个toString()
方法以字符串形式返回函数:
定义为对象属性的函数称为该对象的方法。
旨在创建新对象的函数称为对象构造函数。
箭头函数允许使用简短的语法来编写函数表达式。
你不需要function
关键字,return
关键字,以及大括号。
箭头函数没有自己的this
。它们不太适合定义对象方法。
箭头函数不会被提升。它们必须被定义前他们被使用了。
使用const
比使用更安全var
,因为函数表达式始终是常量值。
您只能省略return
如果函数是单个语句,则包含关键字和大括号。正因为如此,始终保留它们可能是一个好习惯:
IE11 或更早版本不支持箭头函数。
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!