$(function() {}) 和 (function(){})() 的区别是什么?

来源:3-8 内容组织类-H5(addPage方法)

kad0108

2016-08-04

是不是前一种写法可以在文档头部引入,而后一种写法只能在body的最后引入?

全局变量会不会被污染这方面的效果是不是一样的?都相当于把变量封装到了一个匿名函数内部?

写回答

2回答

Lyn

2016-08-08


$( function(){} )

$ === jQuery ,jQuery 、$ 其实都是一个函数

//szimg.mukewang.com/57a8264f00010acb06620190.jpg

那么执行 $( function(){} ) ,相当于调用了一个函数,并且传入一个匿名函数作为参数。

也就是说,我们也要以尝试定义一个函数模拟 $

var $ = function( func ){
   func();   
}; // 定义函数
$(function(){ alert(1) });

再来说用法, Jquery 定义的函数 $ 在你传入第一个参数为 function 的时候,会在「页面加载完成」之后调用。而你的说法

「可以在文档头部引入」

其实是不准确的。一般JS都会放在文档末尾。


============ 我是分割线 ============


最后说 闭包函数,或者 快速执行匿名函数

( function(){} )() 

这种写法,可以让你不用定义函数名就直接使用函数的写法。

0
0

qq_失落的世界_2

2016-08-04

$(function(){])这个是JQ里面的方法,而()();(function(){})();这是匿名函数自执行的方法

0
0

Web App用组件方式开发全站

用HTML5/CSS3/JS流行技术,实现移动端可视化数据报告

3164 学习 · 516 问题

查看课程