$(function() {}) 和 (function(){})() 的区别是什么?
来源:3-8 内容组织类-H5(addPage方法)
kad0108
2016-08-04
是不是前一种写法可以在文档头部引入,而后一种写法只能在body的最后引入?
全局变量会不会被污染这方面的效果是不是一样的?都相当于把变量封装到了一个匿名函数内部?
写回答
2回答
-
Lyn
2016-08-08
$( function(){} )
$ === jQuery ,jQuery 、$ 其实都是一个函数
那么执行 $( function(){} ) ,相当于调用了一个函数,并且传入一个匿名函数作为参数。
也就是说,我们也要以尝试定义一个函数模拟 $
var $ = function( func ){ func(); }; // 定义函数 $(function(){ alert(1) });
再来说用法, Jquery 定义的函数 $ 在你传入第一个参数为 function 的时候,会在「页面加载完成」之后调用。而你的说法
「可以在文档头部引入」
其实是不准确的。一般JS都会放在文档末尾。
============ 我是分割线 ============
最后说 闭包函数,或者 快速执行匿名函数
( function(){} )()
这种写法,可以让你不用定义函数名就直接使用函数的写法。
00 -
qq_失落的世界_2
2016-08-04
$(function(){])这个是JQ里面的方法,而()();(function(){})();这是匿名函数自执行的方法
00
相似问题