<script type='text/javascript' src='/sclBBS/sclvalidator/js/mootools-1.2-core-nc.js'></script>
        <script type="text/javascript">
        var SclValidator = new Class({
            initialize: function(formId){
               
                this.formId = formId;
 alert(this.formId);
            }
        });
          var v = new SclValidator('registForm');       
          alert(v.formId);
        </script>SclValidator v = new SclValidator('registForm');      这种写法是错误的,应该是 var v = new SclValidator('registForm');       

解决方案 »

  1.   

    另外,你这么写initialize: function(formId){
                    alert(this.formId);
                    this.formId = formId;
                } 
    肯定也是不对的,顺序反了.formId属性在没定义之前,你就想alert出来,肯定会是'undefined'
      

  2.   

    SclValidator v = new SclValidator('registForm');      
    他把这当java 用了  呵呵
      

  3.   

    谢谢zhangw428 指点。对于js,仍然不熟悉,用java的写法写js不对了。
    但还的不明,
    initialize 应该啥当于构造函数吧,但this.formId = formId,这样就定义的formId属性? 可以这个属性并没有定义啊。怎么知道this里面一定有formId呢?
    能否讲一讲其中的内在原理呢?
      

  4.   

    this.formId = formId是定义了SclValidator类的formId属性.
    javascript中的this总是指向最终对象的,比如 v = new SclValidator('registForm');  v 就是一个 SclValidator类实例化后的对象,其中的this就是指向v的,v的formId属性的值就是实例化时传进去的参数'registForm'.     
      

  5.   

    能从源码级别讲讲吗?$extend(klass, this);
    var Class = new Native({ name: 'Class', initialize: function(properties){
    properties = properties || {};
    var klass = function(empty){
    for (var key in this) this[key] = $unlink(this[key]);
    for (var mutator in Class.Mutators){
    if (!this[mutator]) continue;
    Class.Mutators[mutator](this, this[mutator]);
    delete this[mutator];
    } this.constructor = klass;
    if (empty === $empty) return this;

    var self = (this.initialize) ? this.initialize.apply(this, arguments) : this;
    if (this.options && this.options.initialize) this.options.initialize.call(this);
    return self;
    }; $extend(klass, this);
    klass.constructor = Class;
    klass.prototype = properties;
    return klass;
    }});
      

  6.   

    呵呵,对不住,我对mootools源码没有研究.期待高手来解释下