js 数字相加的出现的问题?


图片描述

是一个js遍历,相加的内容放到span标签里,出现01,11,21,
网上的解决办法是建个parseInt,但是还没有变化,实在是想不通

jquery JavaScript

Nero默默 9 years, 7 months ago

你这哪是两个数字相加呀,明明是 (((字符串+数字)+数字)+字符串)

SS.HH answered 9 years, 7 months ago

用一元加 "+"快速的将字符串数字转换成数字。

啃骨头的小虎 answered 9 years, 7 months ago

楼上的答案是正确的,我试着说明下原因吧:
一、题主得不到正确答案是因为+号运算符从左往右开始运算,然后第一个是字符串,所以后面得到的结果都是字符串的相加;
二、上面的答案,首先用()改变了运算符优先级,让()内部的计算先运算,然后在外面以字符串相加,另外用+i是防止i是字符,所以先用+i把i转化为数字。
这种问题题主要多思考、多调试啊,另外要多看基础哦。^_^

虚无交响曲 answered 9 years, 7 months ago


 "<span class='lore_num'>"+(+i+1)+"<span>"

西瓜幽幽子 answered 9 years, 7 months ago

Your Answer