(function(window,window.a))(window,window.a)想求教下会的或高手(运气好...)
怎么写生成a的类,还有这种写法和他相等的写法该怎么写,玩的什么花样啊,...困扰已久的问题了,谢谢!

解决方案 »

  1.   

    应该可以的,微软Ajax库的源码start.debug.js就这么写,是引入的文件
      

  2.   

    (function(window,window.a){})(window,window.a)
    不好意思问题少打了  {}
      

  3.   

    (function (window, window.a) {})(window, window.a)
      

  4.   

    (function(window,window.a){})(window,window.a) 
    是将参数(window,window.a)传给函数立即执行,但不知道lz想要做什么?
      

  5.   

    是的,这是javaScript中闭包的用法。
      

  6.   

    利用函数闭包来构建JavaScript模块的方法
    不过楼主的那段语法好像也不对哦
    参考下:(function(window,window.a) {
    // 添加的构造类a的代码
    // var w = arguments[0]; // window
    // var A = arguments[1]; // class a
    // ...
    })(window,window.a);
      

  7.   

    你可以写一个方法试试:
    <script>
    function(){
      alert(1);
    }();
    </script>
      

  8.   


    (function(win){
    // give you a sample
    win.a = function(name, age) {
        this.name = name;
        this.age  = age;
    };win.a.prototype.getInfo = function() {
        return "Name: " + this.name + ", Age: " + this.age;
    };})(window);// 用闭包的一个目的是为了减少全局变量和命名冲突
    // 所以从单纯创建一个类a来说,我觉得没什么大用
    // 上面那样写和下面是完全等价
    /*
    function a(name, age) {
        this.name = name;
        this.age  = age;
    };a.prototype.getInfo = function() {
        return "Name: " + this.name + ", Age: " + this.age;
    };
    */// test it
    var inst = new a('Objector.L', '24');
    alert(inst.getInfo());
      

  9.   

    JS怎么老有那种很怪异的写法,这有什么好处吗?
    真希望JS把自己的语法定的严格点。