到底是什么(function())。()

时间:2013-10-30 03:33:50

标签: javascript syntax

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

的语法

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

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

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

到目前为止,我猜它是类似于立即调用自身的功能?我们如何使用它以及它的优点是什么。我把什么放在“东西”里面?有时在它开始之前它也有$符号。

4 个答案:

答案 0 :(得分:1)

您的第一个示例是匿名自调用函数。所以你是对的,它会立刻自称。如果它有一个名称,那么该名称只能在这些括号(..)中显示。

美元符号功能是jQuery次呼叫的简写。

答案 1 :(得分:1)

想象一下正常的功能:

function foo(){
    ...
}

现在让我们调用该函数:

foo();

不要使用其名称调用函数,而是直接调用它:

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

由于我不在任何其他地方使用此功能,让我们删除它的名字:

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

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

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

这有什么好处?我们有一个范围!

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

这允许您定义全局范围之外的东西。

答案 2 :(得分:0)

你是正确的,它是一个立即调用自身的函数,也称为自执行函数

$只是使用jquery的简写。

答案 3 :(得分:0)

function(){}声明了一个函数,而当我们做

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

很像

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

会做一些事情,在C#中它就像委托一样,而在C ++中它就像函数指针一样,在javascript中它很简单,虽然你可以直接在参数应该的位置嵌入一个函数