究竟是什么(函数()).().

what exacly is (function()).()

本文关键字:是什么 函数 究竟      更新时间:2023-09-26

我是编程初学者,我只是想知道一件事。确切地说是(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);

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

您的第一个示例是一个匿名自调用函数。所以你是对的,它马上就自称。如果它有一个名称,则该名称仅在括号内可见 (..) .

美元符号函数是jQuery调用的简写。

你是对的,因为它是一个立即调用自己的函数,也称为自执行函数

$只是使用 jquery 的速记。

function(){} 正在声明一个函数,而当我们这样做时

$(function() {}) 这意味着我们将一个函数作为参数传递给另一个函数 $(),当时间满足时,该函数将由 $() 执行

这很像

var a = function() { do something }
a();

会做一些事情,在 C# 中它像委托,而在 C++ 中它就像函数指针,在 JavaScript 中它变得简单,尽管您可以直接在参数应该的位置嵌入函数