我正在阅读Cody Lindley撰写的Javascript Enlightenment一书的第4章:Functions()。
我在玩功能,想知道为什么小提琴中addNumbersA
返回匿名(num1,num2,/ ** /)而不是返回function()
谁能告诉我为什么会这样?
编辑: 1.我想问的是为什么不进行日志记录就必须addNumbersA
返回我一个function()
。2.当我使用时typeof(addNumbersA)
,我得到afunction
而不是function()
a-而addNumbersB
return function()
。
抱歉,如果我不够清楚。
原因console.log(addNumbersA); 返回:
function anonymous(num1,num2
/**/) {
return num1 + num2
}
是因为它是一种功能性的表达。当将function关键字用作表达式时,它可以创建一个函数值。函数值可以完成其他值可以做的所有事情-您可以在任意表达式中使用它,而不仅仅是调用它。可以将函数值存储在新位置,将其作为参数传递给函数,依此类推。
同样,console.log(addNumbersB); 返回:
function (num1, num2) {
return num1 + num2;
}
您可以在chrome开发工具中进行测试,也许某些检查器/ js副本具有不同的快捷方式符号,以至于您可能无法获得确切的输出(即,在Firebug中仅获得'function()')。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句