只执行一次的函数该怎么写?

作者 BiYuqi 日期 2017-03-02
只执行一次的函数该怎么写?

实际项目中也许会遇到一些只能执行一次的事件,该怎么写呢?

代码

function once(fn){
    var isFlag = false;
    return function(){
        if(!isFlag){
            isFlag = true;
            fn();
        }
    }
}
//demo
//html结构省略 测试点击事件
//只执行一次
var box = document.querySelector('.box');
box.addEventListener('click',once(function(){
        //放心鼠标点破,也只会执行一次
        console.log("二狗");
}),false)

剩下的就看根据需求,来决定使用场景了