JQuery 最佳实践,在 IIFE 中使用 $(document).ready?

2024-02-18

我正在看一段代码:

(function($) {    
   // other code here    
 $(document).ready(function() {   
    // other code here    
  });    
})(jQuery);

我虽然 IIFE 执行 $(document).ready 的功能,但这段代码正确吗?或者我可以删除 $(document).ready 并将代码直接放在 IIFE 中吗?


不,IIFE 不会执行文档就绪中的代码。

1. 就在IIFE:

(function($) {
  console.log('logs immediately');
})(jQuery);

此代码立即运行,记录“立即记录”,而文档尚未准备好。

2. 准备就绪:

(function($) {
   $(document).ready(function(){
     console.log('logs after ready');
   });
})(jQuery);

立即运行代码并等待文档准备好并记录“准备好后的日志”。

这解释得更好理解:

(function($) {
  console.log('logs immediately');
  $(document).ready(function(){
    console.log('logs after ready');
  });
})(jQuery);

这会在窗口加载后立即将“立即记录”记录到控制台,但仅在文档准备好后才记录“准备好后记录”。


IIFE 不能替代 Ready:

替代方案为$(document).ready(function(){}) is:

$(function(){
   //code in here
});

Update

从 jQuery 3.0 版开始,就绪处理程序发生了变化。

仅建议使用以下形式的就绪处理程序。 https://jquery.com/upgrade-guide/3.0/#deprecated-document-ready-handlers-other-than-jquery-function

jQuery(function($) {

});

就绪处理程序现在是异步的。 https://jquery.com/upgrade-guide/3.0/#breaking-change-document-ready-handlers-are-now-asynchronous

$(function() {
  console.log("inside handler");
});
console.log("outside handler");

> 外部处理程序

> 内部处理程序

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JQuery 最佳实践,在 IIFE 中使用 $(document).ready? 的相关文章

随机推荐

  • 如何修复这个 ES6 模块循环依赖?

    编辑 有关更多背景 另请参阅ES 讨论 讨论 https esdiscuss org topic how to solve this basic es6 module circular dependency problem 我有三个模块A
  • 删除级联时不触发触发器

    我有一个名为 player instance 的表 然后是一个名为 penalties 的表 其中有一个引用player instance的外键 我还有一个名为 分数 的表 我有一个关于处罚的删除触发器 这样如果删除一行 那么它将改变分数中
  • 使用 GCM 向多个 Android 设备发送推送通知

    我正在关注http javapapers com android google cloud messaging gcm for android and push notifications http javapapers com andro
  • 改造 2 @path 与 @query

    我是 Retrofit 2 库的新手 作为初学者 我阅读了几篇文章来入门 并且我设法从我的 RESTful API 获取 XML 数据而不指定参数 在我的方法中 生成的 XML 资源如下 GET Path foods Produces Me
  • 将 NumPy 数组转换为 Python 列表

    我如何转换NumPy http en wikipedia org wiki NumPy数组到Python列表 Use tolist https numpy org doc stable reference generated numpy n
  • 我可以将 Partials 导入到 SASS 中的 Partials 中吗?

    我正在使用 Sass 设计一个新网站 最初 我的 style scss 编译的主 SCSS 文件 导入了 generic scss 我在其中定义了变量 和各个页面 例如 homepage scss 效果很好 然后我尝试重构 homepage
  • 到 MSMQ 还是不到 MSMQ? (或 SQL 表作为队列)

    我有一个分布式系统 其中有 1 个 SQL Server 1 n 个处理服务器和 1 n 个数据提供者 网络上的硬件设备 提供的数据在进入关系数据库结构之前需要进行处理 由处理服务器执行 作为 Windows 服务 net 代码来解析数据
  • Excel公式如何连接字符串以供外部参考

    假设我在单元格中有以下公式 该公式从另一个工作簿读取单元格的值 c temp external book xlsx SheetX E 4 我想要的值c temp external book xlsx SheetX来自此工作表中的另一个单元格
  • 使用 Python 进行 Google-Forms 响应?

    我正在尝试编写一个 Python 脚本 它可以在 Google 表单中提交响应 如下所示 https docs google com forms d 152CTd4VY9pRvLfeACOf6SmmtFAp1CL750Sx72Rh6HJ8
  • 删除 GitLab 中的版本

    我在 GitLab 中发布的版本有问题 我在我的项目中用标签创建了它们 现在我想删除它们 所以我删除了关联的标签 但我的版本始终显示 我在 Google 和 Stack Overflow 上搜索 但找不到任何解决方案 如何删除这些没有标签的
  • TreeView 不显示存储在数据中的子项

    在我的程序中我有一个TreeView具有数据支持 视图模型和数据模型 添加到的每个项目TreeView添加一个子项 但由于某种原因 子项在运行时没有反映 但是 我可以在调试期间看到孩子们以及我的 孩子 属性TreeView s数据模型包括N
  • 我怎样才能得到联系人姓名和他/她的电话号码

    我正在尝试使用 Android 脚本和 Python 开发一个简单的应用程序 现在 我有一个电话号码 我想找出哪个联系人有该号码 我可以执行 contactGet 并搜索号码 但很多程序都使用该功能 我认为有一种更简单的方法 有一个同样的问
  • 如何在 Windows 8 METRO 应用程序中实现错误日志记录?

    您好 我正在开发一个 Windows 8 c xaml Metro 应用程序 我想在我的应用程序中实现错误日志记录 我想以更好的方式处理错误日志 1 如何记录错误信息 以便于开发者纠正错误 2 是否有任何第三方工具 免费库用于在 Metro
  • 当我手动更改 firebase 数据库中的值时,我在列表视图中创建更多项目,而不是更新列表视图中的值

    我不知道我的代码出了什么问题请帮助我 只是尝试检索数据以列表视图 我的 MainActivity java public class MainActivity extends AppCompatActivity ListView listV
  • jQuery 动画和属性值(以百分比表示)

    我试图为 div 制作动画 并尝试使用在其他地方检索到的一些值 我知道该值是正确的 因为我已经打印出了输出 所以我想知道为什么它不能正常工作 animateBar percentage toFixed 2 function animateB
  • Xamarin.Forms WidthRequest 值含义

    在 Xamarin Forms 中 以下属性获得双精度值 WidthRequest HeightRequest Padding Spacing 等 这个数字有什么意义呢 是像素还是其他 我在这些属性中输入的值是否会响应设备屏幕尺寸 考虑到多
  • 无法加载资源:net::ERR_BLOCKED_BY_RESPONSE [重复]

    这个问题在这里已经有答案了 我正在寻找 iframe 这个问题的一些解决方案 domain com 1 Refused to display domain com q node add editor in a frame because i
  • XML 属性可以有空格吗?

    我正在创建一个DTD http www xmlfiles com dtd 对于 xml 文档 我有一个枚举属性 http www xmlfiles com dtd dtd attributes asp对于 xml 元素 我的问题是 属性可以
  • Java:带状态的 ASCII 随机行文件访问

    是否有比创建满足以下条件的流文件读取器类更好的 预先存在的可选 Java 1 6 解决方案 给定一个任意大大小的 ASCII 文件 其中每行都以 n 对于某个方法的每次调用readLine 从文件中读取随机行 并且在文件句柄的生命周期内不会
  • JQuery 最佳实践,在 IIFE 中使用 $(document).ready?

    我正在看一段代码 function other code here document ready function other code here jQuery 我虽然 IIFE 执行 document ready 的功能 但这段代码正确吗