once
_.once(function)
- 创建一个只能被调用一次的函数。重复的调用改进的方法也没有效果,还是返回第一次执行的结果
- 有助于初始化类型的方法,代替设置boolean的标志位,然后对它进行检测
源码:
_.once = function(func){ //创建一个初始的标志位ran,默认是false var ran = false, //memo是一个返回值 memo; return function(){ //判断标志位,如果不是第一次,直接return memo if(ran){ return memo; } //第一次置一下标志位 ran = true; //第一次执行的时候置一下 memo = func.apply(this,arguments); //对func置null func = null; //把memo返回 return memo; }; }