【发布时间】:2016-11-18 03:36:00
【问题描述】:
我第一次玩饼干,我已经完成了部分保存。我保存的数据是数字,这些数字中最重要的部分是我可以用这些进行加减等。但是,当我尝试将一个数字添加到我保存的参数之一时,它会将它们添加为文本。
示例:
我有一个名为value 的cookie,当我想要这个值时,我会使用Jeffery To 找到的一个脚本,如下所示:
function readCookie(name) {
return (name = new RegExp('(?:^|;\\s*)' + ('' + name).replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&') + '=([^;]*)').exec(document.cookie)) && name[1];
}
收集完这个 cookie 后,我想添加一个。假设该值等于 9,它应该如下所示:value + 1 = 10。简单的数学。但是它给了我这个91。为什么这样做?我知道这是因为它认为数字是一串文本,但是我怎样才能让它表现得像数字呢?
解决方案
在阅读了 cmets 之后,我了解到我需要将我的 value 放在 parseInt() 中。所以我简单地修改了函数说:
function readCookie(name) {
return parseInt((name = new RegExp('(?:^|;\\s*)' + ('' + name).replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&') + '=([^;]*)').exec(document.cookie)) && name[1]);
}
【问题讨论】:
-
试试
+value或parseInt(value) -
你有没有想过使用parseInt?
-
发布您实际添加内容的代码部分。
标签: javascript html cookies web