下面显示的两个 jQuery 函数有什么区别?
(function($){console.log("Hello");})(jQuery);
$(function(){console.log("Hello");});
最佳答案
第一个只是一个自执行函数,指定 $
是全局 jQuery
的别名。后者实际上是绑定(bind)到 $(document).ready(function(){ ... });
的替代方法。
// First variation (firing on DOM ready)
$(document).ready(function(){
console.log('Hello');
});
// Which the functional equivalent to:
$(function(){
console.log('Hello');
});
第一个是您通常如何克服 $.noConflict
同时保留 $
快捷方式。
$.noConflict();
(function($){
// $ is, within this scope, still a reference to jQuery
// despite $.noConflict
$('<p>').text('Hello').appendTo('body');
})(jQuery);
关于jquery - jquery自执行函数的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29471816/