请用JavaScript编写一个Car类,包含:一个属性pertrol,表示车辆目前剩余的汽油方法run,每调用一次,汽车的pertrol含量就会减一方法clone,用于深度复制Car对象方法cloneCount,用于获取clone的次数,使用clone方法复制得到的对象的cloneCount应被重置为0。请考虑Car类可能会被继承的情况下的最优方案
function Car(l){ this.pertrol= l || 200; this.cloneNum = 0; } Car.prototype = { constructor : Car, clone:function(){ this.cloneNum++; function sub(){ } sub.prototype = this.constructor.prototype; var clone = new sub(); for(var i in this){ if(this.hasOwnProperty(i)){ clone[i]=this[i]; } } clone.cloneNum=0; return clone; }, cloneCount:function(){ return this.cloneNum; }, run:function(){ } } var carA = new Car(); var c1 = carA.clone(); //c1 carA cloneNum=1, c1 cloneNum=0; var c2 = carA.clone(); //c2 carA cloneNum=2, c2 cloneNum=0; var cc1 = c1.clone(); //cc1 c1 cloneNum=1, cc1 cloneNum=0; var cc1a = c1.clone(); var cc1b = c1.clone(); var $carA_cloneCount = carA.cloneCount(); var $c1_cloneCount = c1.cloneCount(); var $c2_cloneCount = c2.cloneCount(); var $cc1_cloneCount = cc1.cloneCount();
http://bbs.csdn.net/topics/
今天的文章 一段代码分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/85381.html