【发布时间】:2021-08-20 20:01:00
【问题描述】:
我有这段代码,它的 javascript 并且正在使用 cs.js(Minecraft 1.8 的 Chattriggers)
register('command', function(...arguments) {
ChatLib.chat(arguments.length);
if (arguments.length % 2 != 0) {
for (argument in arguments) {
arg = arguments[argument];
if (isNaN(parseInt(arg))) {
let num1 = parseFloat(arguments[argument - 1]);
let num2 = parseFloat(arguments[argument + 1]);
let equals = 0;
switch (arg) {
case "+":
equals = num1 + num2;
ChatLib.chat(`${color.GREEN}Success!`);
ChatLib.chat(`${color.GREEN}` + equals.toString());
break;
case "-":
equals = num1 - num2;
ChatLib.chat(`${color.GREEN}Success!`);
ChatLib.chat(`${color.GREEN}` + equals.toString());
break;
case "*":
equals = num1 * num2;
ChatLib.chat(`${color.GREEN}Success!`);
ChatLib.chat(`${color.GREEN}` + equals.toString());
break;
case "/":
equals = num1 / num2;
ChatLib.chat(`${color.GREEN}Success!`);
ChatLib.chat(`${color.GREEN}` + equals.toString());
break;
case "%":
equals = num1 % num2;
ChatLib.chat(`${color.GREEN}Success!`);
ChatLib.chat(`${color.GREEN}` + equals.toString());
break;
default:
ChatLib.chat(`${color.RED}${color.UNDERLINE}WOAH THERE BUCKO! ${color.RESET}${color.GOLD}You're only allowed to do single operations, do /calc help if you need help with the syntax.`);
break;
}
}
}
}
}).setName("calc");
每当我运行它时,7 + 3 它返回 NaN 给我,我注意到它在等于区域附近的某个地方,就像我在进行调试时它似乎出错的地方一样。我尝试尽可能多地进行研究,但我找不到任何有类似问题的人,运行代码我没有看到任何问题,除了那里可能效率低下。似乎出错的部分是:
equals = num1 + num2;
ChatLib.chat(`${color.GREEN}Success!`);
ChatLib.chat(`${color.GREEN}` + equals.toString());
break;
非常感谢任何帮助,这变得非常令人沮丧。
【问题讨论】:
标签: javascript debugging math nan minecraft