我要做的是接受一个字符串后跟一个数字的变量,并将其转换为一个新的变量,该变量是相同的字符串,但数字不同。
我目前有
var image = 'image1';
当用户点击下一步时,我需要创建一个采用图像var的变量,然后返回'image2'
。
function nextImage() {
nextimage = image + 1;
}
答案 0 :(得分:2)
您可以使用String.replace
方法接受正则表达式和替换回调函数:
var image = 'image1';
var nextimage = image.replace(/\d+$/, function(match) {
return +match + 1;
});
nextimage; // "image2"
“specifying a function as a parameter”部分详细解释了回调函数的工作原理。
答案 1 :(得分:1)
这应该适合你。
var image = "image1";
function nextImage(){
var index = image.slice(-1);
index++;
return nextimage = 'image' + index;
}
答案 2 :(得分:0)
这个没有使用正则表达式。您可以从变量本身中提取图像名称和图像编号,并在每次单击时添加1。
function nextImage() {
image=image.slice(0, "image".length) + (Number(image.slice("image".length, image.length)) + 1);
return image;
}
答案 3 :(得分:0)
这是增加图像数量的javascript方法
// initially number of images = 1 , you can change it
var image = "image1";
function nextImage(e)
{
var curr = image.substr(5);
curr = parseInt(curr) + 1;
image = "image" + curr;
alert(image);
e.preventDefault();
}
window.onload = function(){
// this is the button that will increment images number by clicking on it
var btn = document.getElementById("btn");
btn.addEventListener("click",nextImage);
};
但是你的HTML代码
<button id="btn">click</button>