// 高阶函数 - 函数作为返回值
// once 函数
function once (fn) {
let done = false
return function () {
if(!done) {
done = true
return fn.apply(this, arguments)
}
}
}
let pay = once(function (money) {
//实现功能的逻辑代码
console.log(`支付了${money}RMB`)
})
pay(5) //支付了5 RMB
pay(5)
pay(5)
pay(5)
pay(5)
可以看到无论调用多少次once 只有第一次打印了一次,这个功能可用在表单提交/支付等方面
本文介绍了一次函数的概念及其实现方式,通过将函数包装为只允许首次调用的形式,有效防止了如表单提交、支付等操作的重复执行,确保功能执行的一次性。

3510

被折叠的 条评论
为什么被折叠?



