第一问:
(functoin(){
内容
})(test)这里的test是函数名还是变量,需要在哪儿定义了才能用?第二问:
(function(args){   var IS = {};
   IS.init = function(){alert(args.id[1]);};
   
})()调用的时候用<script>IS.init(id:'1',name:'user');</script>,提示出错呢?

解决方案 »

  1.   

    (function(a){
    alert(a);
    })(4);
    所以第一问应该是变量  是传入的参数
    (function(args){  var IS = {};
      IS.init = function(){alert(args.id[1]);};
       
    })()
    这时匿名函数在定义时就调用了 IS是局部变量 所以在外部不可访问
    (function(){
      if(!window['IS']){
    window['IS']={}; 
      }
      function init(args){
      alert(args.id);
      }
      window['IS']['init']=init;
    })()
    var a={id:'1',name:'user'}
    IS.init(a);
    改成这样试试
      

  2.   

    test是什么根据里面的内容而定,一般是一个对象,window,documentid:'1',name:'user'不是一个完整的数据类型,应该这样
    <script>
    (function(w){  w.IS = {};
      IS.init = function(args){alert(args.id);alert(args.name);};
       
    })(window)
    </script><script>IS.init({id:'1',name:'user'});</script>