当前位置: 移动技术网 > IT编程>开发语言>JavaScript > jQuery(function(){})与(function(){})(jQuery)对比分析

jQuery(function(){})与(function(){})(jQuery)对比分析

2019年03月27日  | 移动技术网IT编程  | 我要评论

开发jquery插件时总结的一些经验分享一下。

一、先看
jquery(function(){ });
全写为
jquery(document).ready(function(){ });

意义为在dom加载完毕后执行了ready()方法。

二、再看
(function(){ })(jquery);
其实际上是执行()(para)匿名方法,只不过是传递了jquery对象。

(function($) {…})(jquery);

这里实际上是匿名函数,如下:

function(arg){…}
这就定义了一个匿名函数,参数为arg

而调用函数时,是在函数后面写上括号和实参的,由于操作符的优先级,函数本身也需要用括号,即:
(function(arg){…})(param)
这就相当于定义了一个参数为arg的匿名函数,并且将param作为参数来调用这个匿名函数

而(function($){…})(jquery)则是一样的,之所以只在形参使用$,是为了不与其他库冲突,所以实参用jquery
相当于funtion output(s){…};output(jquery);或者var fn=function(s){…};fn(jquery);

$(function(){…});

或者:

jquery(function($) {

});

允许你绑定一个在dom(不包含图片)文档载入完成后执行的函数。这个函数的作用如同$(document).ready()一样,只不过用这个函数时,需要把页面中所有需要在 dom 加载完成时执行的$()操作符都包装到其中来。从技术上来说,这个函数是可链接的--但真正以这种方式链接的情况并不多。

全写是:
$(document).ready(function(){

});

三、总结

jquery(function(){ });用于存放操作dom对象的代码,执行其中代码时dom对象已存在。不可用于存放开发插件的代码,因为jquery对象没有得到传递,外部通过jquery.method也调用不了其中的方法(函数)。
(function(){ })(jquery);用于存放开发插件的代码,执行其中代码时dom不一定存在,所以直接自动执行dom操作的代码请小心使用。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网