Javascript 我正在尝试用另一个字符串替换一个字符串
所以当我打字时:Javascript 我正在尝试用另一个字符串替换一个字符串,javascript,Javascript,所以当我打字时: function x(z) { if (z !== 'y') return ("There is an error!") z = z.replace(/y/g, 'Canada'); return x(z); } x('y') 我收到一封信,确认有错误。但我想让它说“加拿大” 我的代码怎么了 谢谢 您在那里进行了不必要的递归调用 function x(z) { if (z !== 'y') return ("There is an error
function x(z) {
if (z !== 'y') return ("There is an error!")
z = z.replace(/y/g, 'Canada');
return x(z);
}
x('y')
我收到一封信,确认有错误。但我想让它说“加拿大”
我的代码怎么了
谢谢 您在那里进行了不必要的递归调用
function x(z) {
if (z !== 'y') return ("There is an error!")
z = z.replace(/y/g, 'Canada');
return z;
}
这在您的上下文中根本不是必需的。我认为这就是您想要做的
function x(z) {
if (z !== 'y') return ("There is an error!")
z = z.replace(/y/g, 'Canada');
return z;
}
alert(x('y')); // Canada
删除对xz的不必要调用。见下文
function x(z) {
if (z !== 'y') return ("There is an error!");
z = z.replace(/y/g, 'Canada');
return z; // changed from return x(z), unnecessary recursion
}
console.log(x('y'));
因为在第二次执行递归时,z已经被Canada替换。顺便说一句,在你的情况下使用正则表达式是没有意义的
function x(z) {
if (z !== 'y') return ("There is an error!")
z = z.replace('y', 'Canada');
}
x('y')
该代码正按照您的要求执行 你的意思是:返回有一个错误!如果var z不等于“y”,则调用值不等于“y”的同一函数
然后用“y”调用函数。只需替换返回xz;通过返回z;我不相信这值得投5票反对票?选民们能解释一下吗?这是基本的,但解释得不好。可能是@Liam的重复。我认为他们投了反对票,因为这个问题不够清楚,不要介意他们!只要该用户得到正确答案,并且您的问题得到解决:\n这不是我的问题@C0dekid.php:呵呵,我只是在你的帖子后才发现的!:请关闭x'y',返回有错误!并用a返回z;这里的x'y'显示为示例。我通常在浏览器脚本面板中测试我的所有脚本。它可以工作,但如果关闭不正确,可能会导致其他脚本出错。这只是一个提示@SamundraI理解您的担忧,我已根据您的建议进行了更改。脚本现在将输出记录到控制台。