Javascript,跟在function ()
{
   var ...
   function1 ();
}()最后的()如何理解。
()后面是否要;

解决方案 »

  1.   

    var func=function(){alert(123)};
    func();等同于~function(){alert(123)}()
      

  2.   

    这个如何理解:
    一个是在function之前的(,另一个是}后面的test。
    <script type="text/javascript">
    <!--
    (function(s, n, o) {
        alert(n);    if (n < 5) {
            n ++;
            arguments.callee.apply(this, arguments);
        }
    })("test", 0, {a : 1});
    //-->
    </script>
      

  3.   

    将"test", 0, {a : 1})作为参数传入当前匿名函数 并执行
      

  4.   


    这个是匿名函数,关键是后面的("test",0, {a :1})理解不了,{a :1}对应于哪个参数。
      

  5.   

    (function(){
    /***/
    })()(function...) //强制表达式运算,运算结果为function;
    function()//词法元素,“虚拟参数表”;
    ()//函数调用;参见周爱民JavaScript语言精髓与编程实践"()"的二义性。 
      

  6.   


    这句:
    (function...) //强制表达式运算,运算结果为function; 
    啥意思,我还是不明白?
      

  7.   

    当()用于强制表达式运算时,括号总是会强制它内部的代码当做表达式来运算。比如:
    var str1 = typeof(123);//()将123作为单值表达式运算,运算结果还是123;var str2 = ('string',123);//()将两个单值表达式做连续运算,连续运算符","的返回值是最后一个表达式的值,所以这里返回123;(function(){//....})//返回一个匿名的function