我正在运行多个函数,需要文档做好准备。我有一个关于使用
$(function()
{
funA();
});( 1)下列哪一项在技术上正确:
(a)我认为,因为它的范围仅限于其大括号内的初始函数。
$(function()
{
funA(function()
{
$(function()
{
funB(function()
{
$(function()
{
funC();
});
});
});
});
});vs
(b)我认为,因为它的范围适用于其大括号内的所有功能。
$(function()
{
funA(function()
{
funB(function()
{
funC();
});
});
});(c)
两者都没有(请详细说明)。
2)如果不使用回调,该方法是否不同?
发布于 2014-12-10 10:25:17
我想问题是“$(f);是如何工作的”。
当调用$(f) (或其完整的表单$(document).ready(f))时,jQuery基本上检查文档是否已经加载。
f(),则在当前代码完成后立即将排队以供执行。f检测到适当的事件时,将添加到要排队的函数列表中。因此,调用嵌套在回调中的$(f)是安全的,但没有必要,因为顶级回调保证只在事件发生后执行,嵌套回调不能比传递给它的函数更早执行。
*-我说的是“安全-ish”,因为$()的回调从来没有立即执行,但只有排队;这可能导致潜在的不必要的结果。
$(f);
g();将始终看到g()在f()之前执行。这不适用于你的问题,但我还是想指出这一点。
https://stackoverflow.com/questions/27397821
复制相似问题