我尝试将test()函数的返回值添加到变量result中,但+=似乎不起作用。我得到错误“无效的变量初始化”。我还尝试将i++替换为i+=,但也不起作用。也许我完全错了,应该使用while循环呢?我完全迷路了..。
我希望'result‘看起来像这样:
var result = no no no 0no 0no no;等等(当然没有空格)。
任何帮助都非常感谢!谢谢
function test(no){
if (no <= 15){
return '0' + parseInt(no);
}
else {
return parseInt(no);
}
}
for(i = 0; i < pics.length; i++){
var b = pics[i].value;
var result += test(b);
}发布于 2009-11-19 03:26:11
每次循环开始时,var result都会消失。您需要将其移出循环:
var result = ''; // lives outside loop
for(i = 0; i < pics.length; i++)
{
var b = pics[i].value;
result += test(b);
}发布于 2009-11-19 03:26:13
您需要将result初始化为字符串,而不是var。
例如:
在循环之外
string result = string.Empty;
for循环
结果+=检验(B);
end for循环
发布于 2009-11-19 03:28:14
您之所以会看到该错误,是因为您正在对新声明的变量使用增量运算符。使用'=':
for(i = 0; i < pics.length; i++)
{
var b = pics[i].value;
var result = test(b);
}尽管如GMain所指出的,真正的解决方案是将'result‘变量声明移到for循环之外。
https://stackoverflow.com/questions/1758411
复制相似问题