[英]Changing value of class variable
我几天前开始OOP,所以我没有经验。 我想知道是否有机会更改类属性的值以影响所有使用该类的对象?
例:
function Balloon(ID){
this.ID = ID;
this.speed = 1;
}
假设我有5个Balloon对象。 现在我想不使用for循环将所有速度值更改为2。
您可以使用prototype
。 查看以下示例:
function Balloon(ID){
this.ID = ID;
}
Balloon.prototype.speed = 1;
b1 = new Balloon(1);
b2 = new Balloon(10);
console.log(b1.speed); // outputs 1
Balloon.prototype.speed = 15;
console.log(b2.speed); // outputs 15, which is now also 15 for all other Balloon instances
那么,您将需要编辑对象的局部静态变量:
var Balloon = (function(){
var speed = null;
function Balloon(ID){
this.ID = ID;
speed = 1;
}
return Balloon;
})();
问题在于,现在所有气球都会共享相同的速度! AHH!
这一点都不好……为了改变速度,您需要为此创建一个吸气剂/吸气剂……您的情况中确实不需要。
所以-要同时更改所有可能的Balloon
类型对象的速度,同时允许每个Balloon在技术上具有不同的速度,唯一的结论是转到每个Balloon
对象并更改速度(对不起)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.