首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多个文档就绪函数(/w和/wo回调)

多个文档就绪函数(/w和/wo回调)
EN

Stack Overflow用户
提问于 2014-12-10 09:49:43
回答 1查看 89关注 0票数 0

我正在运行多个函数,需要文档做好准备。我有一个关于使用

代码语言:javascript
复制
$(function()
{
    funA();
});

( 1)下列哪一项在技术上正确:

(a)我认为,因为它的范围仅限于其大括号内的初始函数。

代码语言:javascript
复制
    $(function()
    {
        funA(function()
        {
            $(function()
            {
                funB(function()
                {
                    $(function()
                    {
                        funC();
                    });
                });
            });
        });
    });

vs

(b)我认为,因为它的范围适用于其大括号内的所有功能。

代码语言:javascript
复制
    $(function()
    {
        funA(function()
        {
            funB(function()
            {
                funC();
            });
        });
    });

(c)

两者都没有(请详细说明)。

2)如果不使用回调,该方法是否不同?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-10 10:25:17

我想问题是“$(f);是如何工作的”。

当调用$(f) (或其完整的表单$(document).ready(f))时,jQuery基本上检查文档是否已经加载。

  1. 如果已经加载了f(),则在当前代码完成后立即将排队以供执行。
  2. 如果尚未加载,则当f检测到适当的事件时,添加到要排队的函数列表中。

因此,调用嵌套在回调中的$(f)是安全的,但没有必要,因为顶级回调保证只在事件发生后执行,嵌套回调不能比传递给它的函数更早执行。

*-我说的是“安全-ish”,因为$()的回调从来没有立即执行,但只有排队;这可能导致潜在的不必要的结果。

代码语言:javascript
复制
$(f);
g();

将始终看到g()f()之前执行。这不适用于你的问题,但我还是想指出这一点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27397821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档