我想我搜索计算器和广泛GOOGLE了constructor-内的构造......构造函数在JavaScript中的构造?
我有一个构造RentalProperty
:
function RentalProperty(numberOfUnits, address, dateAcquired, acCost, isFinanced,
loanAmount){
this.numberOfUnits = numberOfUnits;
this.address = address;
this.dateAcquired = new Date(dateAcquired);
this.acCost = acCost;
this.isFinanced = isFinanced;
this.loanAmount = 0;
this.newValue = 0;
this.equity = function(){
if (this.newValue === 0){
return (this.acCost - this.loanAmount);
} else {
return (this.newValue - this.loanAmount);
}
};
}
的RentalProperty
每个实例都将有一系列的unit
我想要的对象是unit1
,unit2
,unit3
等。但是RentalProperty
的一些实例将只有一个unit
,而其他实例可能有六个,十二个或更多。我在这里做的方式似乎不正确的,因为很多的代码重复,我将需要大量的可能不被用于RentalProperty
特定实例unit
对象:
RentalProperty.prototype.unit1 = {
unitNumber : "1",
monthlyRent: 0,
leaseStart: new Date(0),
leaseEnd: new Date(0),
numBeds: 0,
isSec8: false,
tenantPortion: 0,
sec8Portion: 0
};
RentalProperty.prototype.unit2 = {
unitNumber : "2",
monthlyRent: 0,
leaseStart: new Date(0),
leaseEnd: new Date(0),
numBeds: 0,
isSec8: false,
tenantPortion: 0,
sec8Portion: 0
};
RentalProperty.prototype.unit3 = {
unitNumber : "3",
monthlyRent: 0,
leaseStart: new Date(0),
leaseEnd: new Date(0),
numBeds: 0,
isSec8: false,
tenantPortion: 0,
sec8Portion: 0
};
我试图语法的各种组合(我已经出来拉我的头发小时)把一个unit
构造的RentalProperty
构造函数中的代码,如:
....
this.unit["for(i=0, i < this.numberOfUnits, i++){return i;}"] = {
unitNumber : "i",
monthlyRent: 0,
leaseStart: new Date(0),
leaseEnd: new Date(0),
numBeds: 0,
isSec8: false,
tenantPortion: 0,
sec8Portion: 0
};
....希望这会使用的值创建正确的数字财产RentalProperty
,但它给了我“失踪操作数”。
我也曾尝试:
....//'new Object' added
this.unit[for(i=0, i < this.numberOfUnits, i++){return i;}] = new Object{
unitNumber : "i",
monthlyRent: 0,
leaseStart: new Date(0),
leaseEnd: new Date(0),
numBeds: 0,
isSec8: false,
tenantPortion: 0,
sec8Portion: 0
};
....
....//trying to make another constructor
function Units(){
unitNumber = "1";
monthlyRent = 0;
leaseStart = new Date(0);
leaseEnd = new Date(0);
numBeds = 0;
isSec8 = false;
tenantPortion = 0;
sec8Portion = 0;
}
var yale = new RentalProperty()
var yale.unit33 = new Units();
....但是当我试图让新Units
类的实例与用点表示收到RentalProperty
例如,它“意外的标记”说。
我只学习了2个月的代码(每个html和javascript大约一个月),所以我很确定这是一个noob问题。任何帮助将非常感谢.....这也是我的第一个stackoverflow问题,所以请接受我的道歉,如果我的格式是关闭的。
它究竟在哪里说“意外标记”? – Bergi
Bergi- it在我的IDE结果窗格中显示“意外的标记”(lol-我是这样的noob,我不知道这是否正确的术语!) – CoolestUsername
我的意思是“*什么行,什么代码?*”不是“ *在哪个屏幕上*“:-) – Bergi