Javascript jquery/js中的自执行函数
通常,我们将执行以下操作: 第一类Javascript jquery/js中的自执行函数,javascript,jquery,Javascript,Jquery,通常,我们将执行以下操作: 第一类 (function(){ }()); 类型2 +function(){ }(); 但是今天我看到了这个 $(run); function run(){ //.. } 与前两个版本相比有什么不同?第三个版本在技术上与前两个版本不同。前两种结构只是编写可以执行的表达式的一种方式,因为函数声明(以function关键字开头的语句)不能立即调用 第三个不同。它是jQuery文档就绪语法之一。如果该函数被传递到$函数中,则该函数要么被附加到回调堆栈中,以便在
(function(){
}());
类型2
+function(){
}();
但是今天我看到了这个
$(run);
function run(){
//..
}
与前两个版本相比有什么不同?第三个版本在技术上与前两个版本不同。前两种结构只是编写可以执行的表达式的一种方式,因为函数声明(以
function
关键字开头的语句)不能立即调用
第三个不同。它是jQuery文档就绪语法之一。如果该函数被传递到$
函数中,则该函数要么被附加到回调堆栈中,以便在DOMContentLoaded事件上调用(如果尚未发生),要么被立即调用
检查代码以了解在这种情况下如何处理函数。摘要:
// ...
} else if ( jQuery.isFunction( selector ) ) {
return rootjQuery.ready !== undefined ?
rootjQuery.ready( selector ) :
// Execute immediately if ready is not present
selector( jQuery );
}
$(run)
是hanlder1st和2nd are iLife使用的语法之一。。第二个是代码缩减的安全防护。。第三个是document ready所以(function(){
和+function(){
)之间有什么区别?如果在我的脚本开始时我使用$(function(){});或者document.ready,那么使用第三个就没有意义了?是的,在这种情况下它是多余的。您只需直接调用它run()
。