javascript - (function()).() 到底是什么

标签 javascript syntax

我是编程初学者,我只是想知道一件事。确切地说,(function(){...}).() 的语法

这个问题可能已经被问过,但由于我不知道它是什么以及如何调用它,所以我很幸运地找到了有关该主题的任何内容。

我最近一直在检查一些脚本,我注意到在其中一些脚本中人们使用:

(function(){
   ...
}).(something) // 

到目前为止,我猜测它类似于立即调用自身的函数?我们如何使用它以及它的优点是什么。我应该在“某物”所在的地方放什么?有时在启动之前它也有 $标志。

最佳答案

想象一个正常的函数:

function foo(){
    ...
}

现在让我们调用该函数:

foo();

我们不使用函数名称来调用函数,而是直接调用它:

(function foo(){
    ...
})();

由于我不在其他地方使用此函数,因此我们删除它的名称:

(function(){
    ...
})();

想要向函数传递参数吗?当然!

(function(something){
    ...
})(something);

这样做的好处?我们有一个范围!

(function(something){
    var bar = 5; // Can't access this outside the function
})(something);

这允许您定义全局范围之外的内容。

关于javascript - (function()).() 到底是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19673346/

相关文章:

syntax - db2 存储过程的休眠时间语法

Javascript for 循环行为每次迭代输出相同的结果

javascript - onSubmit 中的异步调用

javascript - Nodejs 和 javascript 用户代理行为

css - 如何为@page{ content : } property? 指定混合内容

javascript - 为什么使用模板字符串时对象解构赋值会抛出错误?

javascript - 如何使用javascript或css设置div的宽度减去某些像素的百分比

php - 使用 jquery 产品配置器添加和删除文本行的最佳方法

c++ - 如何在没有 2^n if 语句的情况下启动具有许多 bool 参数的函数模板

c# - 为什么我们指定一个委托(delegate)和一个事件,为什么不在 C# 中使用一个事件?