|
|
请马上登录,朋友们都在花潮里等着你哦:)
您需要 登录 才可以下载或查看,没有账号?立即注册
x
很喜欢ES6的箭头函数,它可以让代码更简洁。下面,我们先看看传统函数写法,如何实现一个柯里化函数,然后再用箭头函数写。
预设是这样:写一个闭包函数,用来检测字符串,具有通用性。我们先看传统函数写法:
var curryCheck = function (reg) {
return function (str) {
return reg.test(str);
};
};
这里,是一个特殊的柯里化函数写法。所谓柯里化,指函数只带一个参数,就是函数参数单一化。外层函数参数 reg ,是一个待传入的正则,里层函数参数 str ,是待检测的字符串。函数嵌套就是闭包,柯里化函数基本就是这么写。
如何使用上述函数?比方说,我们要检测字符串是不是数字,可以这样:
var checkNumber = curryCheck(/^\d+$/);
console.log(checkNumber('123')); // true
console.log(checkNumber('abc')); // false
下来看看箭头函数,一行就可以完成柯里化的闭包函数:
const curryCheck = (reg) => (str) => reg.test(str);
这个函数等同于前面的闭包函数,调用方法也一样。
箭头函数就是可以这么简洁。还可以更简洁:
const curryCheck = reg => str => reg.test(str);
=> 之后,如果 return 某个指定的东东,花括号 {} 可以不要;函数如果只带一个参数,小括号 () 可以不要。
虽然简洁,不过可读性就差一些,需要非常熟悉箭头函数才能轻松读懂。
|
评分
-
| 参与人数 4 | 威望 +180 |
金钱 +360 |
经验 +180 |
收起
理由
|
小辣椒
| + 50 |
+ 100 |
+ 50 |
赞一个! |
起个网名好难
| + 30 |
+ 60 |
+ 30 |
赞一个! |
樵歌
| + 50 |
+ 100 |
+ 50 |
赞一个! |
红影
| + 50 |
+ 100 |
+ 50 |
赞一个! |
查看全部评分
|