Fun(x => {
console.log(x)
})
以上代码可以简化为
Fun(console.log)
可以进行这种简化的前提是:两个形参x接收的参数个数是相等的
举个反例:
const array = ['1','2','3'].map(parseInt) //代码1
console.log(array)
以上代码执行的结果是: [1,NaN,NaN]
原因是map默认是接收3个参数,但parseInt默认接收是1个
如果按照代码1的写法,则代码等价于以下代码:
const array = ['1','2','3'].map(item,i,arr)=>{
return parseInt(item,i,arr)
}
以上代码执行过程为:
A: parseInt('1',0,arr)
B: parseInt('2',1,arr)
C: parseInt('3',2,arr)
由于A过程中第二个参数为0,则为无效参数,所以第一行能成功解析为1
B、C过程的代码意思分别问:把字符串2作为1进制的数作为解析、把字符串3作为2进制的数作为解析,所以都会输出NaN