function($)
和 $(function())
有什么区别?
这段代码是多余的吗?
(function($) {
"use strict";
$(function() {
run_code();
});
})(jQuery);
它们都是文档就绪函数吗?
最佳答案
它们可能看起来很相似,但它们完全无关。
这称为立即调用函数表达式 (IIFE)。这些并不特定于 jQuery,但在这种情况下,它确保在此函数体内,$
将引用 jQuery
,即使函数外部的内容已被覆盖全局 $
变量和其他东西。这是一种最大限度地减少与其他库的冲突的防御性做法。
另一个好处是在此函数中声明的任何变量都不会添加到全局范围。即使没有 jQuery,这也是用于帮助模块化代码和避免污染全局范围的常见做法。
(function($) {
"use strict";
})(jQuery);
这告诉 jQuery 在 DOM“准备好”时执行指定的函数:
$(function() {
run_code();
});
关于javascript - 函数($)和$(函数())之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58547144/