gpt4 book ai didi

javascript函数领先砰!句法

转载 作者:IT老高 更新时间:2023-10-28 13:14:37 26 4
gpt4 key购买 nike

我现在已经在一些库中看到了这种语法,我想知道它有什么好处。 (注意我很清楚闭包和代码在做什么,我只关心语法差异)

!function(){
// do stuff
}();

作为更常见的替代品

(function(){
// do stuff
})();

用于自调用匿名函数。

我想知道一些事情。首先,是什么让顶级示例真正起作用?为什么要使这个语句在语法上正确,爆炸是必要的?我还被告知 + 有效,我敢肯定还有其他一些替代 !

第二,有什么好处?我只能说它节省了一个 Angular 色,但我无法想象吸引众多采用者的巨大好处。我还缺少其他一些好处吗?

我能看到的唯一其他区别是自调用函数的返回值,但是在这两个示例中,我们并不真正关心函数的返回值,因为它仅用于创建闭包。那么有人可以告诉我为什么可以使用第一种语法吗?

最佳答案

理想情况下,您应该能够简单地完成所有这些操作:

function(){
// do stuff
}();

这意味着声明匿名函数并执行它。但由于 JS 语法的特殊性,这不起作用。

因此,实现这一点的最短形式是使用一些表达式,例如UnaryExpression(以及 CallExpression):

!function(){
// do stuff
}();

或者为了好玩:

-function(){
// do stuff
}();

或者:

+function(){
// do stuff
}();

甚至:

~function(){
// do stuff
return 0;
}( );

关于javascript函数领先砰!句法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5827290/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com