6.10-Once-闭包和apply的应用
function once(fn){ var flag = true; return function(){ if(flag){ fn.apply(this,arguments); flag = false; } }}
记录更新一下codewars的题目,原题目要求是,输入一个函数作为参数,返回这个函数的一个一次使用函数,只能被调用一次。然后再调用就什么都不做或者返回undefined
基础不扎实,这里多记录一点基础知识。
apply,call的使用就是改变函数内部的this指针,达到改变作用上下文的作用。
这两者的区别,只有参数,call的使用有明确的参数,apply的使用更弹性,可以使用argments对象。
另外使用了flag的闭包,勉强能算吧。
以上理解有误请指出,谢谢。
浙公网安备 33010602011771号