You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jQuery两种文档就绪写法是否可行?是否触发两次ready?

jQuery两种document ready写法的疑问解答

先明确两种写法的代码示例:

  • 写法1(简写):
$(function() {
  // 文档就绪后执行的逻辑
});
  • 写法2(完整写法):
$(document).ready(function() {
  // 文档就绪后执行的逻辑
});

下面逐个解答你的问题:

1. 两种写法是否都可行?

肯定都可行。jQuery官方明确规定$(function())就是$(document).ready()的官方简写,二者在功能和内部实现上完全等价,没有任何区别。

2. 同事的写法(写法2)是否合理?

完全合理。写法2是完整的显式调用,可读性更强,对jQuery新手友好,能一眼看懂这是绑定文档就绪事件;写法1更简洁,适合熟悉jQuery的开发者快速编写。两种写法没有优劣,选择哪种全看团队编码规范或者个人习惯。

3. 同事的写法会触发两次document ready吗?

不会。不管用哪种写法,只要是单次绑定ready回调,就只会在文档就绪时触发一次。写法2只是完整调用了.ready()方法,内部逻辑和简写版本完全一致,不存在重复触发的问题。

4. 同时使用两种写法,会触发两次ready吗?

这里要澄清:ready事件本身只会触发一次,但如果你分别用两种写法绑定了不同的回调函数,比如:

$(function() {
  console.log('简写写法的逻辑');
});

$(document).ready(function() {
  console.log('完整写法的逻辑');
});

这种情况下,当文档就绪时,ready事件触发,会依次执行所有绑定的回调函数,而不是触发两次ready事件。

5. 哪部分逻辑先执行?

按照代码中绑定的顺序执行——谁的代码写在前面,谁的回调就先执行。比如上面的例子,简写写法的代码在前,就会先输出简写写法的逻辑,再输出完整写法的逻辑。

内容的提问来源于stack exchange,提问作者Kershaw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 15:54:57