解决方案 »

  1.   

    没写对,写法太奇葩,这个如果要解释挺困难;
    简单说一下,原型上的成员可以被其实例访问,并且是共享的,所以你这种写法每个实例获得的值必然是同一个,因为其调用的都是同一个函数,闭包中的form变量也必定是一致的。
    解释不明白就算了,这样改就行:function MyClass(f) {
            this.form = f;
             
            MyClass.prototype.getForm = function(){
                this.form;
            }
    }
    或者
    function MyClass(f) {
            this.form = f;
    }
     MyClass.prototype.getForm = function(){
                this.form;
     }
    都可以避免该问题
      

  2.   


     $(ducument).ready(function(){
      var f1 = $("#formFujia4");
    var f2 = $("#formZhuangshi4"); var mc1 = new MyClass(f1);
    var mc2 = new MyClass(f2); var jsono = {
    a : mc1,
    b : mc2
    };

    alert(jsono.a.getForm().attr("action"));
    alert(jsono.b.getForm().attr("action"));
    })function MyClass(f) {
    var form = f;

    this.getForm = function(){
    return form;
    }
    }