theme: juejin
持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第8天,点击查看活动详情
什么是偏函数?
首先我们知道,这是一个函数:
代码语言:javascript复制function ajax(url, data, callback) {
// ..
}
这是另外一个函数:
代码语言:javascript复制function ajaxTest1(data, callback) {
ajax('http://www.test.com/test1', data, callback);
}
ajaxTest1
函数相比 ajax
函数,少传了一个参数,它的 url 被固定到了 ajaxTest1
的函数体内;
同理,我们还可以写出 ajaxTest2、ajaxTest3、……、ajaxTestN
如果我们直接写:
代码语言:javascript复制function ajaxTest2(data, callback) {
ajax('http://www.test.com/test2', data, callback);
}
function ajaxTest3(data, callback) {
ajax('http://www.test.com/test3', data, callback);
}
......
function ajaxTestN(data, callback) {
ajax('http://www.test.com/testN', data, callback);
}
这样有问题吗?
从“能用就行”的角度看,是可以的;如果是从“设计模式”的角度看,就不太 ok 了!
因为这样写,都没有复用到 ajax 函数呀