mynamespace.space_1 = 
    function() {  var a = function(inputJson) { alert(ok) }
                  var b = function(inputJson) { alert(error)}       
                  return { _b : b , _a:a }   
               }();
没看懂,请会朋友的指教了,这样是什么写法呀?能否前前后后 仔仔细细的将一下 :)

解决方案 »

  1.   


    mynamespace.space_1 = 
        function() {  var a = function(inputJson) { alert(ok) }
                      var b = function(inputJson) { alert(error)}       
                      return { _b : b , _a:a }  //返回的是个function 
                   }()  //加括号的意思是调用返回的这个function,比如alert() alert是个函数,alert()是调用他
      

  2.   

    ({hello: function() { alert("zswang 路过"); }}).hello();
    这就是调用匿名对象的方法这样理解你就知道了:
    (1).toString(); // 正确,Number.toString()方法
    1.toString();  // 语法错误
      

  3.   


    var a = function(inputJson) { alert(ok) }
                      var b = function(inputJson) { alert(error)   
    这2句之间为什么不加逗号??
      

  4.   

      var b 前面应该加一个逗号吧 这样:  , var b 。
      

  5.   

    mynamespace.space_1 = 
        function() {  var a = function(inputJson) { alert(ok) }
                      var b = function(inputJson) { alert(error)}       
                      return { _b : b , _a:a }   
                   }()
    ;
    总的来说,这是个赋值语句
    左边 = 右边;
    ---------------------------------------
    左边: mynamespace.space_1
    不用说了
    ---------------------------------------右边:function() { var a = function(inputJson) { alert(ok) }
                      var b = function(inputJson) { alert(error)}       
                      return { _b : b , _a:a }   
                   }
    ();蓝色部分是: 定义一个 没有名字的函数 就是匿名函数了
    function() {
     // body ...
    }红色部分是: 马上调用这个函数;------------------------------------------------------------------------------匿名调用,也不复杂啊定义有名字的函数 myFunction
    function myFunction() {
       // body....
    }
    函数名加括号就是调用了
    myFunction();-------------------------------
    定义没有名字的函数
    (function() {
       // body....
    })();在定义完后,直接加一对 () ,也就调用了
      

  6.   

    mynamespace.space_1 = 
        function() {  var a = function(inputJson) { alert(ok) }
                      var b = function(inputJson) { alert(error)}       
                      return { _b : b , _a:a }   
                   }();
    这样写语法上不对,应该加个括号:
    mynamespace.space_1 = 
        (function() {  var a = function(inputJson) { alert(ok) }
                      var b = function(inputJson) { alert(error)}       
                      return { _b : b , _a:a }   
                   })();
      

  7.   

    有点懂了
    请问下面的这几个情况是怎么回事// 写法一 ok
     var a = function(inputJson) { alert(ok) } 
     var b = function(inputJson) { alert(error)}  // 写法二 ok
     var a = function(inputJson) { alert(ok) } ; //这里加分号
     var b = function(inputJson) { alert(error)}  // 写法三  报错了
     var a = function(inputJson) { alert(ok) } , //这里加逗号
     var b = function(inputJson) { alert(error)}  // 写法四  对了
     a = function(inputJson) { alert(ok) } , //这里加逗号,
                                                  //但是把a 和 b 前面的var 干掉
     b = function(inputJson) { alert(error)}  
      

  8.   

    因为你可以这样赋值:var a=10,b=20 //中间是,号 相当于var a=10;  ←分号,然后换行  var b=20;
    你写法3错是因为语法分析器会认为你,后面有东西,但是你后面用了var ,相当于 var var b ,所以报错
      

  9.   

    那写法四为什么是对的,var 都没删除了。