Итак, у меня есть функция, которая проверяет, является ли последний символ в строке арифметическим оператором (+, -, *, /), и если это так, он должен немедленно вернуться из функции. Если нет, знак вычитания должен быть добавлен к строке. Однако возникает только второй случай, и я не могу понять, почему. Если бы кто-нибудь мог дать некоторое представление, я был бы очень благодарен.Как успешно выйти из функции в javascript?
$("#subtract").click(function() {
var original=$("#display").text();
var sliced=original.slice(0,original.length - 1);
var signs=["+","-","*","/"];
var charpos=sliced.charAt(sliced.length -1);
if ((charpos === signs[0]) || (charpos === signs[1]) || (charpos === signs[2]) || (charpos === signs[3])) {
return;
}
else {
var newdisplay=sliced + "-";
$("#display").text(newdisplay);
}
});
Похоже, вы получаете второй к последнему символу 'original', потому что вы отрезают последний символ в' sliced' и получить последний символ '' sliced' с charpos'. Это намеренно? Если да, то я не понимаю, что не так, так что вы можете включить пример того, что вы ввели в '$ (« # display »), чтобы я мог протестировать дальше? –
Вы печатали их на своей консоли и видели, правильно ли вы получили символы? 'console.log()' –
изменить 'original.slice (0, original.length - 1)' to 'original.slice (0, original.length)'. – honerlawd