obj2 = obj1;
让obj2成为obj1的一个引用

解决方案 »

  1.   

    obj1和obj2是我实例化的"两个"对象,我为什么要obj2 = obj1 ?
      

  2.   

    这个问题你是无法避免的在JavaScript中,对于父对象,是采用Refrence的方式的,你的constructor(构造子)deviceClass没有任何内容,在对象访问方面,obj1,obj2都是访问无名对象(new baseClass())这个对象的属性的,因此从本质上来说,obj1和obj2是指向同一个对象的地址的,至于通过constructor创建,只是分配了两个对象占位地址罢了。这点无法避免的原因就是在于JavaScript实现OO的机制就是如此实现的,通过对象支持expandDo的方式来实现方法或者属性的动态增减,至于private变量,只是寄存于constructor创建的对象中的,在继承方面,采用的是Prototype Chain(原型链)的方式。关于JavaScript的OOP方面,我还算有所了解,可以一起交流
      

  3.   

    <SCRIPT LANGUAGE="JavaScript"> 
    <!-- 
    // 基类 
    function baseClass() 

    //private: 
    this.m_a = 10; //只能人为的把他当成private
    //public: 
    this.setA = function(arguA) {this.m_a = arguA;}; 
    this.getA = function() {return this.m_a;}; 

    // 派生类 
    deriveClass.prototype = new baseClass(); 
    function deriveClass() 
    { } var obj1 = new deriveClass(); 
    var obj2 = new deriveClass(); 
    obj1.setA(20); 
    alert(obj2.getA()); 
    //--> 
    </SCRIPT>
      

  4.   

    简单的js我觉得没有太大必要搞这么多东西,毕竟js只是只是面向小规模应用而已。
    ^_^
    个人意见
      

  5.   

    楼上的这位 kingdomzhf(旭日东升) 你自己的代码有没有经过测试!!
    楼主, 实现不了你的想法