dha*_*ett 6 twitter jquery twitter-bootstrap
除了一行,我得到了所有的插件代码,由于搜索引擎的工作方式,我实际上无法搜索我的问题.
问题是这到底是什么:
(!function($) {/*....*/})(jQuery);
Run Code Online (Sandbox Code Playgroud)
为什么这么说!功能($)?? 我猜测同样的效果,$.noConflict()但不是我们只是使用(function($) {/*...*/})(jQuery);它只是将美元符号包装到我们的功能块.我完全知道我可以离开这里,我仍然是jQuery/js的中间人.
如果有人可以在函数语句之前请教我关于NOT运算符的效果,我将非常感激.
编辑:看起来我忽略了bootstrap没有(!function($) ... )但只是存在!function($)...
但你们帮助我实现它只是()的替代品
这里发生了一些事情。所有内容都被包装在立即执行的匿名函数中。这是为了为库创建一个作用域,以便当作者声明函数和变量时它们默认不是全局的。
到目前为止和我在一起。好吧,接下来就是整个($){...}(jQuery)事情了。这里发生的事情是作者将jQuery库作为名为 的参数传递到匿名包装函数中$。因此,在匿名函数的范围内,他可以像您所期望的那样使用$引用jQuery。这更像是一个最佳实践,因为 99% 的情况下 jQuery 已经定义为$全局范围,但在函数范围内引用全局变量被认为是不好的形式,因此他/她将其作为参数传递。
还在那儿?感叹号:Javascript 中有一条规则,规定程序的第一行必须是表达式(即不是函数声明,也称为语句)。通过前置 ! 作者正在将声明转换为表达式(返回 false)。但在这种情况下,我不认为!实际上是必需的,因为声明被包装在 () 中并立即执行。(函数调用是一个表达式)
| 归档时间: |
|
| 查看次数: |
717 次 |
| 最近记录: |