-5

这两者有什么区别,我见过开发人员使用以下任何一种:

这个:

$(document).ready(function(){
    console.log("on load");
  });

和这个:

(function() {
    console.log("self properling");
  })();

如果有的话,一个比另一个有什么优势?

4

2 回答 2

4

DOM ready :文档已读取并准备好操作(PS Uncached Images 仍在加载中)

$(document).ready(function(){

});

DOM 就绪速记

$(function(){

});

安全jQuery别名 ( $) DOM 就绪速记防止$别名与其他脚本冲突

jQuery(function( $ ){

});

安全jQuery别名 ( $) + 自调用(DOM 未准备好)

(function( $ ){

})( jQuery );

立即调用函数表达式

(function myName(){

})();

命名函数声明

function myName(){

}

存储在变量中的匿名函数

var myName = function(){

};

命名函数存储在变量中

var myName = function myFun(){

};
于 2013-06-12T12:33:04.950 回答
3

它们是有区别的

$(document).ready(function(){
    console.log("on load");
  });

dom准备好后执行

(function() {
    console.log("self properling");
  })();

是一个自执行匿名函数,它不会等待 dom 就绪事件

于 2013-06-12T12:22:18.463 回答