我想知道这里到底发生了什么.我知道什么$(document).ready(function() {...});以及何时生效.同样如此jQuery(function($) {...}.
但是这有什么用呢?
!function ($) {
$(function(){
var $window = $(window)
//normal jquery stuff
})
}(window.jQuery)
Run Code Online (Sandbox Code Playgroud)
加载jQuery时是否加载而不是文档"准备好"时加载?
可能重复:
感叹号在功能之前做了什么?
什么!function($){$(function(){})}(window.jQuery)呢?
"!function($){}(window.jQuery)"是什么意思?
<script type="text/javascript">
!function($){
//some codes here
}(window.jQuery)
</script>
Run Code Online (Sandbox Code Playgroud)
这个js原始代码网址:http://twitter.github.com/bootstrap/assets/js/bootstrap-dropdown.js
可能重复:
感叹号在功能之前做了什么?
我正在查看Twitter Bootstrap JavaScript代码,我注意到他们所有的插件都包含在否定自我调用函数中.
我知道function ($) { ... }(window.jQuery);立即调用该函数.
但是!为了什么?
javascript jquery negate twitter-bootstrap self-invoking-function
在twitter bootstrap源代码中,我发现了以下内容:
!function ($) {
"use strict"; // jshint ;_;
Run Code Online (Sandbox Code Playgroud)
我以前从未见过这样的建筑.这是什么意思?它看起来像IIFE,但我不确定它是等价的.
我正在阅读这个问题.我有点理解发生了什么,但我很困惑
!function foo() {
console.log(true) ;
}()
Run Code Online (Sandbox Code Playgroud)
不回来false.
!function () {}()这也将返回与函数返回值相反的布尔值,在本例中为true,因为!undefined为true.如果您希望实际返回值是调用的结果,那么尝试这样做:
"也将返回布尔对面"让我觉得false应该返回.为什么不呢.alert(!true); //false