【发布时间】:2020-01-26 10:32:47
【问题描述】:
所以我稍微修改了我的代码,但我仍然无法弄清楚。
用户输入:!change Hi
var A = "Hello"
if (msg.content.includes ('!change')) {
A = msg.content.replace('!change ', '');
}
msg.send(A); //the change won't stick outside the if statement
输出:你好
我做了一些阅读并尝试使用一个函数,但我无法让它工作。
var A = "Hello"
if (msg.content.includes ('!change')) {
B = msg.content.replace('!change ', '');
changetext(B)
}
function changetext(altText){
A=altText
}
msg.send(A); //the change won't stick here either
对不起,如果我没有说得太清楚,我正在尽力而为。我的目标是让用户可以输入“!change Hi”,然后更改将保留在 if 语句和 A="Hi" 之外。希望这是有道理的。任何建议将不胜感激。
【问题讨论】:
-
您的
if语句是否在您的真实代码中的函数内?如果是这样,var A = C前面的var正在声明一个新的独立的A变量。如果要修改顶级A,则从var A = C中删除var,因此它只是A = C。仅供参考,您的三行代码可以替换为A = msg.content.replace('!change ', '');。你不需要B或C。 -
我更新了我的代码并试图澄清我正在尝试做什么,我确实使用了更改并消除了 B 和 C,只是直接使用了 A。不过我还是有点迷茫
-
我不知道该说什么。您的代码在这里工作得很好:jsfiddle.net/jfriend00/fub72ac6。也许
msg.content不是你想的那样? -
@Cody 您是否尝试过使用调试器或手动单步执行您的代码?看起来上面发布的 jsfiddle 应该可以工作。当您在
changeText中调用msg.send(A)时会发生什么?
标签: javascript node.js