我正在进行一些代码重构。我能否替换
function next () {
// call next using setTimeout
}
next();
使用
(function next () {
// call next using setTimeout
}());
需要启动next,并且从那里调用自身特定次数。
我正在进行一些代码重构。我能否替换
function next () {
// call next using setTimeout
}
next();
使用
(function next () {
// call next using setTimeout
}());
需要启动next,并且从那里调用自身特定次数。
两者都是可行的,两者都可以实现递归调用(这就是命名IIFE的关键点)。
它们之间唯一的区别在于第二个不会用函数的名称污染外部命名空间,而只能从函数中看到。 当然,一个结果是你将无法从其他地方调用该函数。