样式 - 用命名的IIFE替换命名函数

时间:2013-03-30 17:27:05

标签: javascript

我正在重构一些代码。我可以替换

吗?
function next () {
    // call next using setTimeout
}
next();

(function next () {
    // call next using setTimeout
}());

接下来必须启动并从那里开始称它为自己一定次数。

1 个答案:

答案 0 :(得分:9)

两者都有可能,都启用递归调用(这是命名IIFE的重点)。

它们之间的唯一区别是第二个不会使用函数名称污染外部名称空间,该名称只能从函数中看到。当然,结果是你将无法从其他地方调用该函数。