搜尋

首頁  >  問答  >  主體

javascript - 怎样实现React.createClass类似的功能

也是通过类似React.createClass(spec)的方式创建构造函数;但是创建好的构造函数new之后,每个实例对象的属性都应该是复制spec一份的而不是共享spec对象的属性,尤其是对象属性,这个要怎么实现?

如下列代码:

var constructor1 = M.createClass({
    address:{
        work:"shanghai"
    },
    changeWork:function(s){
        this.address.work=s;
    },
    alert:function(){
        alert(this.address.work);
    }
});

var c1=new constructor1();
var c2=new constructor1();


c1.alert();//alert("shanghai");
c2.alert();//alert("shanghai");


/*下面的代码是错误的,正确结果应该是一个弹出beijing一个弹出shaghai,可是
我现在的代码就是如此,所以我想问问大家这个效果要怎么实现*/
c1.changeWork("beijing");
c1.alert();//alert("beijing");
c2.alert();//alert("beijing");
迷茫迷茫2774 天前213

全部回覆(1)我來回復

  • PHPz

    PHPz2017-04-11 11:33:11

    这就看你把对象存在哪里的问题了,看样子是存在prototype上了

    回覆
    0
  • 取消回覆