
大家好,我是小米,前几天,我陪朋友去参加一个大型音乐节,现场有几十位歌手,每个歌手都有自己的节目,但是有趣的是,主持人手里并没有节目内容,他手里拿着的,只是一张名单:名单上写着:第一位:唱歌第二位:跳舞第三位:讲相声第四位:魔术真正表演的时候,主持人只是喊一句:"请下一位!",对应的人便走上舞台完成自己的节目,突然我脑子里灵光一闪:这不就是 JavaScript 的函数作为值吗?今天,我们就来聊聊 JavaScript 一个特别有意思的特性——函数也是值(Function is Value),很多刚学 Java 的同学都会觉得不可思议:"函数还能当变量?"而 JavaScript 会笑着告诉你:当然,而且函数几乎可以像普通变量一样到处传,今天,小米就带大家一起看看这个神奇的世界。JavaScript 万物皆对象,函数也是一种值很多语言里,函数只是代码,而 JavaScript 不一样,在 JavaScript 里面:数字是值字符串是值数组是值对象是值函数也是值什么意思?例如:这里 18、"小米" 都是值,那么函数呢?输出:ƒ sayHello() { ... }注意!这里没有括号,没有括号,就不是执行函数,而是把整个函数本身当成一个值,是不是有点神奇?函数像快递,可以随便搬家回到音乐节,主持人手里拿的其实不是节目,而是节目负责人,负责人去哪,节目就去哪,JavaScript 的函数也是一样,例如: