var once = fn => {
let done = false;
return function(){
return done?undefined:((done = true),fn.apply(this,arguments))
}
}
这是一个简单的执行一次的函数,在一些特殊的业务中有一定的实际用途,比如当我们想要点击付款按钮时,我们只需要用户点击一次,如果第二次再次点击则无效。
var doPayment = once(()=>{
console.log(‘支付完成了’)
})
doPayment() //支付完成了
此时我们不小心重复点击了第二次;
doPayment() //undefined
这个函数简单实用,我们可以把它封装成我们自己的业务函数,这样会节省我们很多不必要的代码。