微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

简单谈谈jQuery(function(){})与(function(){})(jQuery)

开发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操作的代码请小心使用。

原文地址:https://www.jb51.cc/jquery/56803.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐