两个功能有什么区别

时间:2013-06-12 12:19:37

标签: javascript jquery

这两者之间有什么区别,我见过开发人员使用其中任何一个:

这一个:

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

和这一个:

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

如果有的话,一个人的优势是什么?

2 个答案:

答案 0 :(得分:4)

DOM ready 文档已被读取并准备好进行操作(P.S.未缓存的图像仍在加载中)

$(document).ready(function(){

});

DOM就绪速记

$(function(){

});

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

jQuery(function( $ ){

});

安全jQuery别名($)+自我调用(DOM尚未就绪)

(function( $ ){

})( jQuery );

立即调用函数表达式

(function myName(){

})();

命名功能声明

function myName(){

}

匿名函数存储在变量

var myName = function(){

};

命名函数存储在变量

var myName = function myFun(){

};

答案 1 :(得分:3)

存在差异

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

dom准备就绪后执行

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

是一个自动执行的匿名函数,它不会等待dom ready事件