办法,使用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了。
你这个问题的关键不是字符串转整型,而是json的解析,上面的字符串加有斜杠,意味着转义的双引号,这是一个json格式化的字符串,所以要想转义到数据类型,可以这样做:
//原本的"interfAveHandlTime\":[\"10\",\"20\",\"30\",\"40\",\"50\"]应该不全吧// 正确的话是这样的
var res = JSON.parse('{\"interfAveHandlTime\":[\"10\",\"20\",\"30\",\"40\",\"50\"]}')
//输出结果就是
res = {
interfAveHandlTime:["10","20","30","40","50"]
}
// 这里才是考虑(-字符串转整型-)的地方:
var test = parseInt(res.interfAveHandlTime[0])//parseInt("10")
//这里的 test 就是整型的10了
这么理解:string
str
=
"123456"
先在内存中找是不是有"123456"
这个对象,
如果有,就让str指向那个"123456".如果内存里没有"123456",就创建一个新的对象保存"123456".
string
str=new
string
("123456")
就是不管内存里是不是已经有"123456"这个对象,
都新建一个对象保存"123456"