我有一个简单的问题。
我找到了这段代码,但我不知道这个说法
!function ($) {
// (...)
}(window.jQuery);
为什么放!在函数之前?
我在 bootstrap.js 文件中找到了这个,我真的很想知道。
谢谢!
我有一个简单的问题。
我找到了这段代码,但我不知道这个说法
!function ($) {
// (...)
}(window.jQuery);
为什么放!在函数之前?
我在 bootstrap.js 文件中找到了这个,我真的很想知道。
谢谢!
正如 nnnnnn 提到的,它是重复的。代码正在执行匿名函数,同时将 window.jQuery 作为参数传递,该参数将在函数内部以 $ 的形式引用。这允许使用 $ 来引用 jQuery,而不会与任何其他可能使用美元符号的库发生冲突。
这是代码的可读性更高的版本:
(function($){
// here, $ references jQuery and any variable or function
// declared here cannot be overridden outside of this function
})(window.jQuery)
这 !如果无法解析语句,则将始终将语句解析为 true。
你可以通过使用看到这一点,
javascript:alert(!function(){}())
结果响应为真