文章 评论 浏览 31
在30-seconds-of-code看到一个这个题的变形,分享一下let unary = fn => val => fn(val) let parse = unary(parseInt) console.log(['1.1', '2', '0.3'].map(parse)) 这个的答案是什么呢?
在30-seconds-of-code看到一个这个题的变形,分享一下let unary = fn => val => fn(val) let parse = unary(parseInt) console.log(['1.1', '2', '0.3'].map(parse))
在30-seconds-of-code看到一个这个题的变形,分享一下
let unary = fn => val => fn(val) let parse = unary(parseInt) console.log(['1.1', '2', '0.3'].map(parse))
这个的答案是什么呢?
我是这样理解的:
unary函数接收一个回调函数 fn ,返回一个闭包。
unary
fn
也就是说 parse函数等同于 let parse = val => parseInt(val)
parse
let parse = val => parseInt(val)
传入 parse 函数的参数依次是(箭头函数没有 arguments所以超过形参的实参会被忽略):
arguments
parse('1.1')
1
parse('2')
2
parse('0.3')
0
输出 [1, 2, 0]
[1, 2, 0]
文章 0 评论 0
接受
我是这样理解的:
unary
函数接收一个回调函数fn
,返回一个闭包。也就是说
parse
函数等同于let parse = val => parseInt(val)
传入
parse
函数的参数依次是(箭头函数没有arguments
所以超过形参的实参会被忽略):parse('1.1')
返回1
parse('2')
返回2
parse('0.3')
返回0
输出
[1, 2, 0]
第 2 题:['1', '2', '3'].map(parseInt) what & why ?