括号中的 Javascript 语句和函数(转换为 React 兼容)



我无法理解这个括号语句及其目的,有人可以帮助我吗?

function fadeOut(el){
el.style.opacity = 1;
(function fade() {  <-- If this is true, then it keeps on executing?
if ((el.style.opacity -= .1) < 0) {
el.style.display = "none";
} else {
requestAnimationFrame(fade);
}
})();
};

对我来说,这看起来像是递归使用的函数fade。在行requestAnimationFrame(fade);中,它实际上将自身的引用作为参数传输。因此,此方法确保它至少执行一次自身,但在内部 if 语句为 false 的情况下,它将以自身作为参数调用函数requestAnimationFrame。所以也许这个requestAnimationFrame会再次打电话给fade()

顺便说一句,我不同意@VLAZ和@Rajesh。我没有看到,链接的问题在您的示例上下文中正确回答了此结构的用法。此函数既不用于变量范围,也不用于覆盖框架属性。

最新更新