什么是jQuery(function($){something});做?

时间:2014-04-07 09:17:45

标签: jquery

我以前从未见过有人这样做过。有人可以启发我这个吗?这取自here

jQuery(function ($) { //What's with the $ as an argument?
    $('#flux').bind('scroll', function () {
        if ($(this).scrollTop() + $(this).innerHeight() >= $(this)[0].scrollHeight) {
            alert('end reached');
        }
    })
});

看来他可以声明一个函数并同时运行它。

2 个答案:

答案 0 :(得分:2)

这是http://api.jquery.com/ready/

的简写

参数$实际上是jQuery - 它通常用于避免与其他全局$变量冲突

请参阅:http://api.jquery.com/jQuery/#jQuery3

答案 1 :(得分:0)

  

看来他可以声明一个函数并同时运行它。

这个函数不在这里运行,它只是传递给jQuery(当文档准备就绪时会运行它。)

  

function($){//什么是$作为参数?

这是模块的Javascript概念:

不是让函数引用全局$(最终可能会出现意外情况),而是将$作为参数传递(jQuery将在此处为您执行此操作)。 然后在函数体$内引用该局部对象。

  

我刚刚测试了没有$参数的函数,它无论如何都可以工作。

是的,但那是因为你还有一个全局对象$。明确传递它的想法是避免让函数访问全局范围。