这可能是一个奇怪的问题,因为我没有考虑具体的例子。我正在尝试学习JavaScript,在查看一些材料时,我开始想知道是否可以增加/减少小于一(1)。
换句话说,如果存在需要通过其他内容增加变量的情况&#34; 1&#34;。例如。将变量i递增0.5而不是1,for (var i = 0, i < 10.5, i++/2) {...
正如我所说,我没有特定的例子或理由需要这样做。我很好奇,如果:
提前感谢您的任何回复!
与How to increment number by 0.01 in javascript using a loop?
中遇到的问题不同的问题答案 0 :(得分:0)
i++/2
是有效的语法,但它不会做你期望的事。
相反,表达式i += 0.5
将i
增加0.5
并返回新值:
var i = 1
var x = (i += 0.5)
console.log(i) // 1.5
console.log(x) // 1.5
&#13;
+=
称为addition assignment operator。请注意,表达式将返回递增的值,而不是更改前的i
值。换句话说,它的行为类似于++i
,而不是i++
。
答案 1 :(得分:0)
要添加到Timo的答案,我不建议在循环中使用小数增量,因为它可能导致舍入错误:
for (var i = 0; i <= 1; i += 0.1) {
console.log(i);
}
// 0
// 0.1
// 0.2
// 0.30000000000000004
// 0.4
// 0.5
// 0.6
// 0.7
// 0.7999999999999999
// 0.8999999999999999
// 0.9999999999999999
相反,您可以使用整数增量,然后将值缩放到所需范围:
for (var i = 0; i <= 10; i++) {
console.log(i / 10);
}
// 0
// 0.1
// 0.2
// 0.3
// 0.4
// 0.5
// 0.6
// 0.7
// 0.8
// 0.9
// 1