javascript - jquery匿名函数声明的含义

标签 javascript jquery

以下假设准确吗?

1)立即执行

(function(){
})();

2)文档准备好后执行

$(document).ready(function(){
});

3) 文档就绪的简写

$(function(){
});

4) on document 的替代简写,以避免跨脚本冲突

(function($) {
})(jQuery);

最佳答案

是的,对于前 3 个,您的定义是正确的:)

不过,除非你需要一个闭包,否则语句将立即执行,没有理由像 #1 那样将其包装起来(当然有很多有效的时间你需要一个闭包,只是注意如果你不这样做......它是多余)。

数字 4 但不正确,(function($) { })(jQuery); 不与任何事件绑定(bind),它只是一个闭包,因此 $ === jQuery 位于其中,因此您可以使用 $ 快捷方式:

(function($) { 
  //You may use $ here instead of jQuery and it'll work...even if $ means
  //something else outside of this closure, another library shortcut for example
})(jQuery);

关于javascript - jquery匿名函数声明的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2930982/

相关文章:

javascript - 单击鼠标获取元素

javascript - PHP 和 JavaScript : Dynamic search with 2 textbox

javascript - 无法在 DIV 上使用 JavaScript 执行 CSS 代码

javascript - Action 文本 (Trix) 样式不会在生产中加载(Rails 6、Heroku)

javascript - 本地存储多 key 存储

jquery - 更改选择菜单的选中框中的文本 onChange 事件

javascript - JQGrid 中的 onSelectRow

jquery - $.each() 未正确迭代数组

javascript - 无法成功将元素从一个 div 单独拖放到另一个 div

javascript - XMLHttpRequest 无法加载