Я играл с кукисами в первый раз, и у меня сохранилась часть его. Данные, которые я сохраняю, - это числа, и самая важная часть этих nubers - это то, что я могу добавить, вычесть и так далее. Однако, когда я пытаюсь добавить число в один из моих сохраненных параметров, он добавляет их, как если бы они были текстом.Javascript добавляет номера, как если бы они были строкой
Пример: У меня есть печенье под названием value
, и когда я хочу это значение я использую сценарий, который я нашел на Jeffery To который выглядит следующим образом:
function readCookie(name) {
return (name = new RegExp('(?:^|;\\s*)' + ('' + name).replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&') + '=([^;]*)').exec(document.cookie)) && name[1];
}
После того как я собрал это печенье я хочу чтобы добавить один к нему. Допустим, что значение равно девяти, когда оно должно выглядеть так: value + 1 = 10
. Простая математика. Однако это дает мне это 91
. Почему он это делает? Я знаю, что это потому, что он считает, что цифры представляют собой строку текста, но как я могу заставить это вести себя как числа?
Решение После прочтения комментариев я узнал, что мне нужно, чтобы положить мой value
Внутри parseInt()
. Таким образом, я просто изменил Funtion сказать:
function readCookie(name) {
return parseInt((name = new RegExp('(?:^|;\\s*)' + ('' + name).replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&') + '=([^;]*)').exec(document.cookie)) && name[1]);
}
Попробуйте '+ value' или' ParseInt (значение) ' –
Вы думали об использовании [ParseInt] (https://developer.mozilla.org/EN-US/Docs/Web/JavaScript/Справка/Global_Objects/ParseInt)? – larz
Опубликуйте часть кода, в которой вы действительно что-то добавляете. –