这是 jQuery 相关的,这是啥意思? [复制]

Posted

技术标签:

【中文标题】这是 jQuery 相关的,这是啥意思? [复制]【英文标题】:Is this jQuery related, and what does this mean? [duplicate]这是 jQuery 相关的,这是什么意思? [复制] 【发布时间】:2013-06-22 17:50:47 【问题描述】:

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

以下代码是否意味着:如果没有定义 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 并且没有,我真的不知道它是什么意思。

【问题讨论】:

这是! 的用途:***.com/questions/3755606/… 哦,我明白了。很遗憾我以前找不到那个答案。我搜索!function ($) 没有结果 当您搜索 ! 之类的字符时,Google 并不是很有帮助 :) 我尝试了不同的方式来逃避它,仍然没有成功......呵呵,谷歌 【参考方案1】:

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

javascript immediately invoked function patterns

【讨论】:

【参考方案2】:

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

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

此外,它在文件顶部这样说:

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

因此,这进一步证明了它并不是为了任何真正的目的。

【讨论】:

对不起,这不是我要求的。 @w0rldart:我意识到了。我现在实际上已经回答了这个问题 - 继续刷新。 感谢您考虑我的问题,并实际给了我一个答案:) 那么,就我而言,!function ($) 没有任何用处...因为我已经包含了 jQuery 并在 document.ready 上执行,对吧? ! 似乎没有目的,但这与document.ready 无关——这是关于确定$ 变量的范围以防止jQuery 和其他库之间发生冲突使用$

以上是关于这是 jQuery 相关的,这是啥意思? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

这是啥意思?:在这个示例代码中? [复制]

开关(我 ^ 3)。这是啥意思? [复制]

Ruby问号运算符,这是啥意思? [复制]

python中的kwargs保留字。这是啥意思? [复制]

C结构中的“:”(冒号) - 这是啥意思? [复制]

PHP &$string - 这是啥意思? [复制]