这个方法里的value和date是怎么传进去的?如果value不存在那不是永远都进不到if里面了吗
function createselectDateDoneCallback(timeline){ return function(value,date){ if(value.length>0){ value = ffff(value,timeline.settings.step); } $('#timepick').val(value[0]); timeline.settings.slider = sliderRender(layui.slider,timeline.settings.min,timeline.settings.max,timeline.settings.step,value); } }
已解决
悬赏分:80
- 解决时间 2021-11-28 23:29
点赞 0反对 0举报 0
收藏 0
分享 0
回答3
最佳
-
这就是方法的返回值是一个方法嘛.
function A(t) { return function(b, c) { return t + b + c; } } A(1)(2, 3) // 输出 6
这种东西可以叫 柯里化 (高阶函数的一种用法),有时候根据功能会叫做 延迟计算、缓存计算结果(都是 柯里化 的作用之一),最朴素的说法就是:一个方法的返回值是另一个方法,且后者可以访问到前者的参数及内部变量.
支持 0 反对 0 举报2021-11-28 08:34
-
你先理解一下这个函数的调用方式:
第一种方式:createselectDateDoneCallback(timeline)(value, date)
第二种方式:
let fn = createselectDateDoneCallback(timeline); fn(value, date);
把这个理解了,你应该明白value和date是什么时候传入的
支持 0 反对 0 举报2021-11-28 09:57
-
简单来说
const resultFn = createselectDateDoneCallback(); resultFn(value, date);// 参数从这里传进来
js语言中函数是第一公民,他可以被当做参数或者作为结果返回
支持 0 反对 0 举报2021-11-28 11:20