-1

如果我写这段代码:

(function($){})

这是否意味着在这个函数中我可以写而不是单词“function”只是“$”。

谢谢你解释这个。

4

2 回答 2

1

不,这意味着 $ 可以在该上下文中以特定含义使用。$当两个或更多工具包使用类似变量时,经常使用这种东西。例如,jQuery 通常这样编写来处理文档就绪方法:

jQuery(function($) {
    $('#div').something()...
});

这样,即使您在其他地方打电话,您也可以确定这$将意味着在这种情况下。jQueryjQuery.noConflict

这种特殊的语法(function($){})通常是这样完成的:

(function($){

})(jQuery);

这样做是为了创建一个匿名函数并使用特定的上下文调用它。通常它用于执行诸如将循环的特定迭代传递给 AJAX 操作之类的操作(例如,如果您想在运行五次的循环内进行 5 次 ajax 调用)。例子:

for (var x = 0; x < 5; x++) {
    (function(index) {
        $.ajax(url, { data... }, success(data) {
            if (data.y == index)....
        });
    })(x);
}
于 2013-08-06T18:32:28.950 回答
1

它是一个匿名函数,以 $ 作为参数以在本地范围内使用它。

它可以这样调用:

(function($){ SOME_OPERATIONS_WITH_$ ;})(theObjectBeingPassedAsDollar)

例如。jQuery 对象可以传递给这个实例,它会在匿名函数中用作 $

这将提醒HelloWorld

(function($){ alert($.one + $.two); })( {'one':'Hello','two':'World'} )

演示:http: //jsfiddle.net/Pg9s4/

于 2013-08-06T18:33:21.293 回答