Javascript的foreach等价物:
for ( var i in products )
{
document.write("Write" + i + 1 );
}
输出:
Write01
修改
我尝试将i
解析为整数。
for ( var i in products )
{
document.write("Write" + parseInt(i) + 1 );
}
答案 0 :(得分:10)
因为i
是一个数字,但是被第一个+
强制转换为字符串。使用此:
for ( var i in products ) {
document.write(""); document.write("Write" + (i + 1) );
// ------------------------------------------^
}
答案 1 :(得分:1)
这里的问题是operator precedence。如该表所示,+运算符从左到右关联。
所以:
a + b + c
分组如下:
((a + b) + c)
因此,在原始代码中,表达式分组如下:
("Write" + i) + 1
换句话说,它是一个字符串连接,后跟另一个字符串连接。由于您打算首先进行算术加法(i + 1),因此必须明确对它们进行分组:
"Write" + (i + 1)