我是编程的初学者,我只想知道一件事。确切地说是(function(){...}).()
这个问题可能已被提出,但由于我不知道它是什么以及如何调用它,我很幸运能找到关于这个主题的任何内容。
我最近一直在检查一些脚本,我注意到其中一些人使用:
(function(){
...
}).(something) //
到目前为止,我猜它是类似于立即调用自身的功能?我们如何使用它以及它的优点是什么。我把什么放在“东西”里面?有时在它开始之前它也有$
符号。
答案 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中它很简单,虽然你可以直接在参数应该的位置嵌入一个函数