我在一些开源网站经常看到这样以用写法,不明白什么意思(function(pppp) {
    //TODO something
})(xxxxx);搞不懂后面的括号是干什么用的,有时候是空的也有时是一个对象参数。

解决方案 »

  1.   

    (fun=function(o){})(),这样的函数前面定义的是方法体,后面的括号指的是传进fun这个函数的参数,具体执行就是定义完这函数并执行如果后面有参就传参并执行,无参的话就直接执行函数体
      

  2.   

    我也碰到过这个问题。
    其实是普通函数换了个马甲。
    先给个例子:test(ppp)
    function test(XXX)
    {
       alert(XXX);
    }相信这个例子你可以看得懂吧,然后设计人员发现test(XXX)函数只使用一次或是不想被其他程序段调用,于是使用了匿名函数的模式,于是可以将程序改为(function(XXX)(alert(XXX)))(ppp);xxx是定义的参数模式,也就是所说的形参,而PPP就是实际参数。