jquerydom就绪和JavaScript执行
下面的剪接是如何工作的jquerydom就绪和JavaScript执行,javascript,jquery,Javascript,Jquery,下面的剪接是如何工作的 $((function () { alert('I''m ready!') }())); 据我所知,它: 执行jQuery.ready()-只有在加载DOM后才会触发它 它被包装成匿名的(如果它被传递给$anyway有什么意义?) 函数被定义并立即执行 这不会创建文档就绪处理程序。根据传递给它的内容执行不同的操作,在本例中,传递的是未定义的 内部匿名函数表达式: (function () { alert('I''m ready!') }()) 立即执行
$((function () {
alert('I''m ready!')
}()));
据我所知,它:
这不会创建文档就绪处理程序。根据传递给它的内容执行不同的操作,在本例中,传递的是
未定义的
内部匿名函数表达式:
(function () {
alert('I''m ready!')
}())
立即执行,因为它后面有()
,然后它的返回值被传递到$()
-它不显式返回任何内容,因此返回值是未定义的
(如上所述)
如果您确实想在文档准备就绪后发出此警报,请删除()
,如下所示:
$(function () {
alert('I''m ready!')
});
这不会创建文档就绪处理程序。根据传递给它的内容执行不同的操作,在本例中,传递的是未定义的
内部匿名函数表达式:
(function () {
alert('I''m ready!')
}())
立即执行,因为它后面有()
,然后它的返回值被传递到$()
-它不显式返回任何内容,因此返回值是未定义的
(如上所述)
如果您确实想在文档准备就绪后发出此警报,请删除()
,如下所示:
$(function () {
alert('I''m ready!')
});
下面的剪接是如何工作的
$((function () {
alert('I''m ready!')
}()));
可以说,事实并非如此
让我们使用一个中间变量来区分代码正在做的两件事:
// First
var x = (function () {
alert('I''m ready!')
}());
// Then:
$(x);
第一位定义函数并立即调用它,从而显示警报。函数调用的返回值存储在x
中。由于函数不返回任何内容,因此调用它的结果是未定义。
然后,第二位调用jQuery的$
函数传入未定义的
,该函数基本上不会做任何事情
你可能是这个意思:
$(function () {
alert('I''m ready!')
});
请注意,在调用它的函数之后没有()
。这种情况如下:
// First
var x = function () {
alert('I''m ready!')
};
// Then:
$(x);
这里发生的是函数被定义而不是被调用;对函数的引用存储在x
中
然后我们调用$
并传入该函数引用,它是$(document.ready(x)
的快捷方式
所以这个代码:
$(function () {
alert('I''m ready!')
});
首先定义一个函数(不调用它),然后将对该函数的引用传递到$
中
稍后,当DOM就绪时,jQuery将调用该函数
$(function() {
console.log( "ready!" );
});
下面的剪接是如何工作的
$((function () {
alert('I''m ready!')
}()));
可以说,事实并非如此
让我们使用一个中间变量来区分代码正在做的两件事:
// First
var x = (function () {
alert('I''m ready!')
}());
// Then:
$(x);
第一位定义函数并立即调用它,从而显示警报。函数调用的返回值存储在x
中。由于函数不返回任何内容,因此调用它的结果是未定义。
然后,第二位调用jQuery的$
函数传入未定义的
,该函数基本上不会做任何事情
你可能是这个意思:
$(function () {
alert('I''m ready!')
});
请注意,在调用它的函数之后没有()
。这种情况如下:
// First
var x = function () {
alert('I''m ready!')
};
// Then:
$(x);
这里发生的是函数被定义而不是被调用;对函数的引用存储在x
中
然后我们调用$
并传入该函数引用,它是$(document.ready(x)
的快捷方式
所以这个代码:
$(function () {
alert('I''m ready!')
});
首先定义一个函数(不调用它),然后将对该函数的引用传递到$
中
稍后,当DOM就绪时,jQuery将调用该函数
$(function() {
console.log( "ready!" );
});
是的缩写
$( document ).ready(function() {
console.log( "ready!" );
});
看到这个了吗
是的缩写
$( document ).ready(function() {
console.log( "ready!" );
});
请参阅此此处和此处主要记录如果在DOM初始化后调用.ready(),则传入的新处理程序将立即执行。
当我正确获得这3点时?此处和此处主要记录如果在DOM初始化后调用.ready(),传入的新处理程序将立即执行。
当我正确获得这3点时?我认为不应该立即调用。@ZenMaster:正确。不应该有,但是OP的代码中有,这就是nnnnnn指出的。那么在DOM就绪后如何执行匿名函数呢?/nnnnnn的edid回答了这个问题。@undefined好吧,这是当你转到$(function(){…})时通常做的事情代码>-您在DOM就绪后执行匿名函数。@ZenMaster是的,当然,我认为他/她想在就绪处理程序中使用自调用函数。我认为不应该立即调用。@ZenMaster:正确。不应该有,但是OP的代码中有,这就是nnnnnn指出的。那么在DOM就绪后如何执行匿名函数呢?/nnnnnn的edid回答了这个问题。@undefined好吧,这是当你转到$(function(){…})时通常做的事情代码>-在DOM就绪后执行匿名函数。@ZenMaster是的,当然,我以为他/她想在ready处理程序中使用一个自调用函数。这并没有回答以下问题:OP有以下被剪断的部分如何工作?
另外,如果代码实际上是为了传递IIFE的结果,那么这个答案没有用。这不是答案-1这并没有回答以下问题:OP有以下被剪断的部分是如何工作的?
另外,如果代码实际上是为了传递生命的结果,那么这个答案是没有用的。它不是一个答案-1.