首页 > 怎样实现React.createClass类似的功能

怎样实现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");

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

【热门文章】
【热门文章】