javascript (function(){})()什么意思?有什么作用?匿名函数?

来源:互联网 发布:mac md文件编辑器 编辑:程序博客网 时间:2024/05/01 06:36

第一次看到jQuery这段代码的时候有点不解,“(function(){忽略其他代码})()”这代码片什么意思?
后来通过查阅网上的文章才明白~
这只是函数深藏不漏的用法而已!
下面来告诉我自己这到底是什么意思0..0
可能大家都明白一下javascript以下几种函数的声明方式:
function add(a,b){return a+b;}
var add=function(a,b){return a+b;}
var add=new Function(“a”,”b”,”a+1”);
以上函数是有名字的,方便外部调用它。但是假如函数没有名字呢?
以代码“var add=function(a,b){return a+b;}”为例,等号右边function部分返回的是一个函数的引用,假如我们不用“add”来接收,那那么函数是不是就不存在了?答案是不可能的。那为什么要用“add”来接收?方便找到调用执行而已!
add(1,2);
那去掉“var add=”之后成了什么?那就是匿名函数!
问题来了,匿名函数怎么调用执行?
我们先来看“var add=function(a,b){return a+b;}”这个函数如何调用执行了?很简单,呵呵,add(1,2);
表达式中“=”这玩意,呵呵,既然add(1,2)能调用执行,那是不是等同于 (function(a,b){return a+b;})()也能?必须能!再把参数和函数体中的逻辑处理去掉,不就成了(function(){})()!
所以能猜到(function(){})()的作用就是让{}里边的内容在js被加载的时候就能运行。

0 0