You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JS-Cookie开发点击器游戏时函数仅生效一次的原因是什么?

核心问题

你代码的核心问题出在addClick函数的变量作用域逻辑错误:
你在refreshCookies的定时器回调中用let声明的value是块级局部变量,仅在回调函数内部可访问,addClick里直接使用的value属于未声明变量,首次执行可能刚好读取到Cookie初始值产生生效的错觉,后续parseInt(undefined)会得到NaN,写入Cookie的数值非法,自然不会再更新。

修复方案

修改addClick函数,每次调用时先主动从Cookie读取当前value值,不存在的话设置默认值0,计算完成后再写入Cookie即可:

function addClick() {
    // 读取当前Cookie存储的数值,缺省默认值为0
    const currentValue = parseInt(Cookies.get('value')) || 0;
    Cookies.set('value', currentValue + 1);
    console.log('click added!');
}

额外优化建议

定时器的时间参数不要写0500,前导零在JS部分运行环境会被识别为八进制数字,实际运行间隔和你预期的500ms不符,直接写500即可。


内容的提问来源于stack exchange,提问作者DevOffline

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 02:45:03