这个jQuery是否相关,这是什么意思?

时间:2013-06-25 19:19:17

标签: javascript jquery function

我一直在寻找,但没有线索......或者我没有找到正确的方法(如果重复请原谅我)

以下代码是否意味着:如果没有定义jQuery,或者没有文档准备就绪?

!function ($) {

///

!function ($) {

  $(function(){ // I know this is an alias to $(document).ready()

  .....

}(window.jQuery) // Ending of !function

我问,因为我在这里看到它:http://twitter.github.io/bootstrap/assets/js/application.js并且我不知道它真的不知道它是什么意思。

2 个答案:

答案 0 :(得分:5)

在这种情况下,正在使用!因为它是一个运算符,所以该行的其余部分将被视为表达式而不是语句。这是一种编写立即调用的函数表达式的方法。可以在这里找到更常见的习语:

Javascript immediately invoked function patterns

答案 1 :(得分:3)

!上的

function(){}()只是翻转(或否定)在立即调用已定义的函数后返回的值。请注意,在函数定义之后,在最后一行,它显示(window.jQuery) - 它将jQuery作为函数的参数传递并立即调用它。

但是在这种情况下它似乎没有做任何重要的事情,因为无论如何都不会使用返回值。该功能仍将执行。

此外,它在文件的顶部说明了这一点:

// NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT
// IT'S ALL JUST JUNK FOR OUR DOCS!
// ++++++++++++++++++++++++++++++++++++++++++

因此,进一步证明这并不意味着任何真正的目的。