JavaScript的的foreach相当于:为什么我不能在foreach中使用这样的添加?
for (var i in products)
{
document.write("Write" + i + 1);
}
输出:
Write01
编辑: 我试图解析i
成一个整数。
for (var i in products)
{
document.write("Write" + parseInt(i) + 1);
}
JavaScript的的foreach相当于:为什么我不能在foreach中使用这样的添加?
for (var i in products)
{
document.write("Write" + i + 1);
}
输出:
Write01
编辑: 我试图解析i
成一个整数。
for (var i in products)
{
document.write("Write" + parseInt(i) + 1);
}
因为i
是一个数字,但得到由第一+
转换为字符串。使用这个:
for (var i in products) {
document.write(""); document.write("Write" + (i + 1));
// ------------------------------------------^
}
这里的问题是operator precedence。如该表所示,+运营商从左到右关联。
所以:
a + b + c
是分组如下:
((a + b) + c)
所以在你的原代码,表达被分组如下:
("Write" + i) + 1
换句话说,它是字符串连接,后跟另一个字符串连接。由于您打算首先执行算术加法(i + 1),因此您必须将它们明确分组:
"Write" + (i + 1)
Thanks! STH有同样的答案,但你有一个解释。 – Strawberry 2010-02-22 08:48:37
不客气。 – Boldewyn 2010-02-22 08:49:09
+1我认为他是,但我想这可以采取任何方式。 –
2010-03-25 18:00:15