Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我正在尝试用另一个字符串替换一个字符串_Javascript - Fatal编程技术网

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理解您的担忧,我已根据您的建议进行了更改。脚本现在将输出记录到控制台。