在函数上调用函数是否可能?

Ehs*_*har 10 javascript node.js express

在以下代码中

const express = require('express');
const app = express()
app.use(express.static('public'));
Run Code Online (Sandbox Code Playgroud)

express是一个函数,所以它如何调用"express.static('public')"方法呢?是否可以在JavaScript中调用函数内部的函数

Nin*_*olz 20

函数不仅是第一类函数,还是第一类对象,可以包含属性.

function foo() {}

foo.bar = function () { console.log('i am bar'); };

foo.bar();
Run Code Online (Sandbox Code Playgroud)

  • 是.从静态,OO的角度来看,这可以解释为"函数应用程序只是一个特殊的方法,你可以调用_function object_,使用语法糖使它看起来像数学函数应用程序",即`express()`是`express.<operator"()">()`的语法糖.从动态的FP视图来看,它将被解释为"OO方法只是将方法的名称作为第一个参数的特殊函数",即`express.static('public')`将是`express的语法糖(<methodname"static">,'public')`. (5认同)
  • @leftaroundabout:但这两者都不符合Javascript中实际定义的形式. (4认同)