首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

懂得javascript中的“自动执行函数”

2013-09-04 
理解javascript中的“自动执行函数”  因为之前看了jquery的源码,对于源码中的一开始的()()不是很理解,后来

理解javascript中的“自动执行函数”
  因为之前看了jquery的源码,对于源码中的一开始的()();不是很理解,后来到网上查了查,有了大致的了解,怕忘记了,所以记录一下。

(function(a){alert(a)})(1);//上面的代码就是一个自动执行的js函数,和jquery中的一样。其中的function(a){alert(a)}//是一个匿名函数,接受一个参数。随后的(1)表示对这个匿名函数的调用,并且传递了一个参数,这与我们平常声明一个函数,并调用是一样的:function x(a) {  alert(a);}x();//现在来说一下对于这个自动执行函数我所理解的执行顺序://首先,第一个小括号,也就是“(function(a){alert(a)})”是一个运算符号,就像:(1+2)*3//一样,这样,就是把这个匿名函数给返回,同时紧跟着后面的小括号“(1)”就把它给调用了。如果我们把包裹住匿名函数的小括号给去掉的话,function(a){alert(a)}(1);//这样,就不会执行。这时,虽然有了匿名函数,但是并没有对这个函数的引用,后面的小括号仅仅是一个运算优先级而已,并不是对方法的执行。//不过我们这样写就可以执行了:+function(a){alert(a)}(1);//或者-function(a){alert(a)}(1);//或者void function(a){alert(a)}(1);//或者new function(a){alert(a)}(1);//上面的写法都可以。//前面添加的“+,-,void,new”是运算符和执行关键字,这样会强制匿名函数在声明后返回引用,而后面的小括号就是对函数的执行

热点排行