JavaScript 语言将函数看作一种值,与其它值(数值、字符串、布尔值等等)地位相同。凡是可以使用值的地方,就能使用函数。比如,可以把函数赋值给变量和对象的属性,也可以当作参数传入其他函数,或者作为函数的结果返回。函数只是一个可以执行的值,此外并无特殊之处。

    由于函数与其他数据类型地位平等,所以在 JavaScript 语言中又称函数为第一等公民。

    1. function add(x, y) {
    2. return x + y;
    3. }
    4. // 将函数赋值给一个变量
    5. var operator = add;
    6. // 将函数作为参数和返回值
    7. function a(op){
    8. return op;
    9. }
    10. a(add)(1, 1)
    11. // 2
    1. // 赋值表达式中
    2. const test = function () {
    3. // => 函数体
    4. }
    1. // 小括号中
    2. (function () {})
    1. // 对象的成员
    2. const obj = {
    3. test: function () {},
    4. }
    1. // 数组的成员
    2. const arr = [
    3. function () {},
    4. ];