*在很多的时候,我们只想要一个函数只执行一次,不希望它执行第二次,这个时候我们可以通过一个函数来实现这个操作`
function once(fn) {
let called = false;
return function () {
if (!called) {
called = true;
//这里改变了this的指向
fn.apply(this, arguments);
}
};
}
function launchRocket() {
console.log("我已经执行了");
}
function handle(){
console.log('执行了一次')
}
const onceFunction = once(handle)
//我们把我们只需要执行一次的函数传入给once,然后用一个新的函数来接受它,这个新的函数onceFunction就只能执行一次。
onceFunction()
```*`