这是什么意思(function($){}

时间:2013-08-06 18:32:08

标签: javascript function

如果我写这段代码:

(function($){})

这是否意味着在这个函数中我可以只用“$”来代替单词“function”。

感谢您解释此事。

2 个答案:

答案 0 :(得分:1)

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

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

这样,即使您在其他地方呼叫$,也可以确保jQuery在该上下文中意味着jQuery.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);
}

答案 1 :(得分:1)

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

可以像这样调用:

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

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

这会提醒HelloWorld

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

<强>演示:http://jsfiddle.net/Pg9s4/