让函数只执行一次的简化写法(非单列模式)

让函数(不带返回值)只执行一次,单列模式有兴趣的朋友可以去看看我的js设计模式,里面有详细的介绍。

让函数只执行一次一般我们会这样写:

var flag = false; //定义一个标记

if(!flag){
    fn(args);
    flag = true;
}

其实可以简化为:

var flag = void 0;

flag || (flag = fn)(args);
原文地址:https://www.cnblogs.com/gongshunkai/p/5879002.html