办法,使用parseInt(var i)强制转型。
因为js中变量是可以任意赋值的(不用担心类型),但是int型一旦被改为字符串后,在调用int的加法运算时,就会变成了字符串的连接运算。如下所示:
<script language="javascript"><!--
var i=1
alert(i+1)//结果为2
var j="1"
alert(j+1)//结果为11
//-->
</script>
此时如果想要将j转换为int并且执行加法,需要将j强制转换为int,具体方法如下:
alert(parseInt(j)+1)此时的结果就会是2了。
直接使用K就行了。
对于JS来说,for循环不是一个变量作用域,因此在for循环内部还是外部声明都是一样的。
比如
<script type="text/javascript">//位置1
for(var i=0i<5i++){
for(var j=0j<3j++){
var k = '4'//这里的k等价于在位置1出var k
}
}
alert(k)//这里获取到的k是4
</script>
所以如果你获取的k是undefined,那么只有一种可能,就是没有进入if(data2[i].fSP==v){这个if条件内,这个条件不成立。