原谅这个新手问题(Javascript新手!)。
在一个html页面中,我有一组带有名称和数字的图像:img1 img2 img3 ... img12 ... 还有一个JS函数,我需要从(例如) img5 迭代到最后的img。
如果我写这个:
function iterateImg(objImgID) {var imgNum = objImgID.replace("img","");
for (i=imgNum+1;i<20;i++)
.../...
变量“i”被视为字符串,如果传递的对象的ID是img5,则i + 1接收值“51”。
当然我仍然可以从1迭代到n并且只在i的值达到6时执行所需的任务,但这将是一个难看的修复。
我该如何解决这个问题?在将其用作种子之前,如何创建将被视为整数的变量? 此外,你会推荐什么作为最佳做法?
答案 0 :(得分:1)
var imgNum = Number(objImgID.replace("img",""));
那就行了。
或者更好(因为我喜欢正则表达式)
var imgNum = Number(objImgID.match(/[0-9]+/));
答案 1 :(得分:1)
使用parseInt
将字符串转换为数字
var imgNum = parseInt(objImgID.replace("img", ""));
答案 2 :(得分:0)
有几种方法可以强制JavaScript将其转换为数字
parseInt(x, 10)
- 10是数字的基础x - 0
- 减去仅适用于数字x * 1
- 倍增答案 3 :(得分:0)
var imgNum = parseInt(objImgID.replace("img",""), 10);
现在当你执行var i=imgNum+1
时,它将执行2个整数的添加。