在一些脚本中常看到
(function(){.....})();
这类用法,不知道是什么,请指教.

解决方案 »

  1.   

    ()的优先级最高, 所以首先执行funtion(){}
    funtion(){}定义了一个匿名的函数,相当于 a = function(){} 或者 function a(){}
    (funtion(){}) 就是首先定义一个函数,
    最后的()是调用函数,相当于调用上面定义的a();
    所以以上代码相当于
    function a(){}
    a();
      

  2.   

    (function(){.....})(); 
    分析如下:
    function(){.....}是匿名函数
    (function(){.....})加了括号使这个匿名函数范围清晰
    (function(){.....})(); 调用/执行这个匿名函数
      

  3.   

    一方面避免申明新名字,另一方面创建了一个闭包。关于闭包:
    http://www.cn-cuckoo.com/wordpress/wp-content/uploads/2007/08/JavaScriptClosures.html