以下是代码:
alert(oldVars);
alert("change "+prevNumber+" to "+newNumber)
newVars = oldVars.replace(prevNumber,newNumber);
alert(newVars);
oldVars
是一个包含一些文字和数字的字符串,例如"Product ID 39203"
。
prevNumber
例如39203
我想将39203
更改为200
。 newNumber
设置为200
。
oldVars
的提醒显示"Product ID 39203"
。
"change"
的提醒显示"change 39203 to 200"
newVars
的警报从未显示,因此我假设替换代码中存在错误。但是错误是什么?为什么我的代码不起作用?
我的目标是"Product ID 200"
我使用变量而不是字符串/整数,因为数字因类别而异,所以我不能静态输入数字,因为我不知道它们是什么。
它在这里工作: http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_replace
不在我的代码中......
答案 0 :(得分:-1)
您的代码在这里工作正常:http://jsfiddle.net/manishie/G7PQV/
你可能输错了一些东西。
使用Javascript:
var oldVars = "Product ID 39203";
var prevNumber = "39203";
var newNumber = "200";
alert(oldVars);
alert("change "+prevNumber+" to "+newNumber)
newVars = oldVars.replace(prevNumber,newNumber);
alert(newVars);
答案 1 :(得分:-1)
这可能是因为你试图在字符串中找到一个整数。如果您首先使用.toString()
将数字转换为字符串,那么它应该可以正常工作。
示例:http://codepen.io/skimberk1/pen/d448dbdf05c290feaddcdd510ec5d72d
答案 2 :(得分:-1)
alert(oldVars);
alert("change "+prevNumber+" to "+newNumber)
newVars = oldVars.replace(prevNumber,newNumber);
alert(newVars);
有趣。正如manishie所说,你很可能拼错了一些东西。当我遇到这样的错误时,我通常会给我的代码一次,并确保所有内容都是100%语法合理的,即使我选择的模式通常都有效。
所以,我的建议是添加';'在结束时:
alert("change "+prevNumber+" to "+newNumber)
因此:
alert("change "+prevNumber+" to "+newNumber);
我也遇到了类似于Revealing Module Pattern的奇怪问题:
$(document).ready(function()
{
console.log( "Hehe!" );
});
键入时出错:
$(document).ready(function() {
console.log( "Hehe!" );
});
..没有。