JS方法后面加括号

来源:互联网 发布:苹果电脑文件恢复软件 编辑:程序博客网 时间:2024/05/07 05:00

相信各位开发的大神们,在开发工作中用过类似

function(){}()

这样形式的方法。有时没用的时候,效果出不来,一不小心用了之后效果就出来了,我也是莫名其妙,因为前段时间做项目时就遇上这问题。那么它是怎么一回事?

这属于js匿名函数的一种!这种写法可以看做是私有的内部类,一般出于加载时就需要立即执行的代码可以这样来些,第2个就是避免与其它的名称相冲突.给你举个例子看看:(function(p1,p2){alert(p1+p2);})(1,2);实际就相当与function test(p1,p2){   alert(p1+p2);}test(1,2);(function(){})();匿名方法的好处,上面也有提到.1.其它外部调用不到,相对安全.2.可用于onload事件保证不与其冲突.3.可看做线程安全.下面介绍一下它的调用var fnc = function(){alert('x');},这里function如果不赋值给fnc那么它就是一个匿名函数,这种函数我们称为回调函数.调用方式fnc();下面是匿名函数的调用。有返回值的调用函数得到返回值。强制运算符使函数调用执行<1>(function(p1,p2){    return p1+p2;}(1,2)); 强制函数直接量执行再返回一个引用,引用在去调用执行<2>function(p1,p2){    return p1+p2;})(1,2);无返回值的调用<3>   void function(p1) {          return p1++;    }(2);测试function test(){     return (function(p1,p2){       return p1+p2;     })(1,2);    //等以上几种情况. }alert(test());结果33undefined

0 0