$(function(){})与(function($){})(jQuery)的区别
程序员文章站
2024-02-10 08:32:48
...
1、(function($) {…})(jQuery);
1)、原理:
这实际上是匿名函数,如下:
function(arg){…}
这就定义了一个匿名函数,参数为arg
而调用函数时,是在函数后面写上括号和实参的,由于操作符的优先级,函数本身也需要用括号,即:
(function(arg){…})(param)
这就相当于定义了一个参数为arg的匿名函数,并且将param作为参数来调用这个匿名函数
而(function($){…})(jQuery)则是一样的,之所以只在形参使用$,是为了不与其他库冲突,所以实参用jQuery
相当于funtion output(s){…};output(jQuery);或者var fn=function(s){…};fn(jQuery);
2)、作用(非常有用):
这种写法的最大好处是形成闭包。在(function($) {…})(jQuery)在内部定义的函数和变量只能在此范围内有效。
执行结果:内部3
外部2
2、$(function(){…}); jQuery(function($) {…}); $(document).ready(function(){…})
这三个的作用是一样的,本人比较需要用第一种、书写简单。
1)、原理:
这实际上是匿名函数,如下:
function(arg){…}
这就定义了一个匿名函数,参数为arg
而调用函数时,是在函数后面写上括号和实参的,由于操作符的优先级,函数本身也需要用括号,即:
(function(arg){…})(param)
这就相当于定义了一个参数为arg的匿名函数,并且将param作为参数来调用这个匿名函数
而(function($){…})(jQuery)则是一样的,之所以只在形参使用$,是为了不与其他库冲突,所以实参用jQuery
相当于funtion output(s){…};output(jQuery);或者var fn=function(s){…};fn(jQuery);
2)、作用(非常有用):
这种写法的最大好处是形成闭包。在(function($) {…})(jQuery)在内部定义的函数和变量只能在此范围内有效。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>demo1</title> <script type="text/javascript" src="js/jquery-1.8.3.min.js" ></script> <script type="text/javascript"> $(function(){ var i=2; function init(){ alert("外部"+i); } ;(function($){ var i=3; function init(){ alert("内部"+i); } init(); })(window.jQuery); init(); }) </script> </head> <body> <input type="text" id="name" name="name" placeholder="123" maxlength="10"> </body> </html>
执行结果:内部3
外部2
2、$(function(){…}); jQuery(function($) {…}); $(document).ready(function(){…})
这三个的作用是一样的,本人比较需要用第一种、书写简单。
上一篇: ThinkPHP分组下自定义标签库实例
下一篇: 软件设计五大原则的初认识
推荐阅读
-
$(function(){})与(function($){})(jQuery)的区别
-
jQuery.extend和jQuery.fn.extend的区别
-
$(function(){})与(function($){})(jQuery)的区别
-
jQuery.extend和jQuery.fn.extend的区别
-
Java中equals与==的区别及理解
-
Java中==与equals的区别及理解
-
零钱宝和余额宝哪个好 零钱宝与余额宝之间的收益对比和区别有哪些
-
解析isset与is_null的区别
-
微信小程序template模板与component组件的区别和使用详解
-
jquery遍历之parent()和parents()的区别及parentsUntil()方法详解