在 JavaScript中,一个函数可以作为另一个函数的参数。可以先定义一个函数,然后传递,也可以在传递参数的地方直接定义函数。
Node.js 中函数的使用与 JavaScript 类似
以上代码中,把 say 函数作为 execute 函数的第一个变量进行了传递。这里传递的不是 say 的返回值,而是 say 本身!
匿名函数
不一定要绕"先定义,再传递"的圈子,我们可以直接在另一个函数的括号中定义和传递这个函数
甚至不用给这个函数起名字,这也是为什么它被叫做匿名函数 。
函数传递是如何让HTTP服务器工作的
向 createServer 函数传递了一个匿名函数
用这样的代码也可以达到同样的目的:
巩固一下:箭头函数不能用arguments
不允许使用arguments(规定),并且,普通函数里 arguments 代表了调用时传入的参数,但是箭头函数不是,箭头函数会把 arguments 当成一个普通的变量,顺着作用域链由内而外地查询(词法作用域)
解决:arguments可以用...rest取代,所以完全没必要追求argument。