在Javascript中,这种语法是什么意思?

时间:2010-08-11 12:39:35

标签: javascript jquery

我在查看jQuery插件时发现了这个片段,并想知道它实际上是做什么的

jQuery插件框架:

(function($) {
    ... 
})(jQuery); 

最近在nettuts

var STICKIES = (function () {
    ...
}()); 

3 个答案:

答案 0 :(得分:7)

这会创建一个匿名函数并直接调用它: 这相当于

var fun = function(){};
fun();

用于jquery插件,以确保与定义全局变量'$'的其他库兼容。在你的插件sekeleton中,你将你的插件包装在一个匿名函数中,该函数接收一个名为'$'的参数(从而覆盖全局变量'$'),然后使用'jQuery'作为参数调用这个匿名函数,所以有效$成为= jQuery,但仅限于匿名函数。

答案 1 :(得分:0)

第一部分:

function($) {
    ... 
}

创建一个匿名函数。 第二部分:使用大括号包装此函数,(jQuery);使用jQuery作为参数来调用函数(可通过函数中的$使用)。

然后

nettuts将调用结果保存在变量中。

答案 2 :(得分:0)

第一个函数意味着$被jQuery覆盖,这很有用 你在剧本中给'$'赋予了不同的含义。