我有这个if if声明我在这里提出:
var TotalMoney=0;
var Orbs=0;
if (TotalMoney.length==2) {
Orbs+=1;
}
这段代码应该做的是" TotalMoney"值数字长度等于2, 示例(数字10有2位数) 然后它会添加1" Orb"到了" Orbs"值。目前,它什么都不做。有HTML和CSS链接到这个代码,但我认为问题在于此代码,因为它适用于其他一切。请修理它,因为我已经尝试了几个小时。谢谢!
我的第二个问题,我刚刚在这里找到了这段代码:
var totalMoney=0;
var orbs=0;
if (totalMoney.toString().length==2) {
orbs+=1;
}
这适用于将数字值数字设为2位数。现在的问题是,一旦达到10,每当这个数字一直上升(10-99)时,每次都会增加1个圆球。我只想在它到达2位数字(10)时添加1个圆球,并在到达它后停止添加1个圆球。我怎样才能实现这一目标?谢谢!
答案 0 :(得分:3)
TotalMoney
是一个数字,因此它没有length
属性。您可以先转换为字符串来检查号码的长度:TotalMoney.toString().length
。
答案 1 :(得分:2)
js中的数字对象没有长度属性,因此TotalMoney.length
返回undefined
。
如果你想要计算数字,你可以使用它:
if (TotalMoney.toString().length == 2) {
Orbs+=1;
}
但如果TotalMoney
为负数,则为-1,例如,Orbs将递增。
我认为有更好的方法可以找到所有2位数字:
if (TotalMoney>9 && TotalMoney<100) {
Orbs+=1;
}
答案 2 :(得分:1)
TotalMoney
是数字
所以要找到它的长度使用这段代码
TotalMoney.toString().length;
而不是
TotalMoney.length;
因此请尝试修改您的代码,如下所示:
var TotalMoney=0;
var Orbs=0;
if (TotalMoney.toString().length==2) {
Orbs+=1;
}
答案 3 :(得分:0)
长度是阵列和属性的属性。 string。它不能应用于其他变量。
如果你想计算你可以做的位数
if(TotalMoney>9)
或者您可以将其转换为字符串,然后检查它的长度
if(TotalMoney.toSting().length>2)
答案 4 :(得分:0)
以下是您的代码的一些想法和一般性评论。
// recommended to start with lower case. upper case such as 'TotalMoney'
// is stylistically reserved for constructors.
var totalMoney=0;
// again - changing form Orbs to orbs;
var orbs=0;
// recommended to use '===' until you are more experienced with JavaScript and
// know about the 'gotchas' that '==' might produce.
// you will be able to check the length of totalMoney only after converting it to a string.
if (totalMoney.toString().length === 2) {
orbs+=1;
}
最后,totalMoney为0将不会向orbs添加一个。但正如你所提到的那样,总金额为10美元。