gpt4 book ai didi

javascript - jQuery cookie 将 bool 值设置为字符串

转载 作者:行者123 更新时间:2023-11-29 21:16:12 25 4
gpt4 key购买 nike

我正在使用 cookie,使用 cookie 的值设置其他代码变量。

我已经定义了关于 cookie 默认状态的数据:

const Cookie = {
config: {
name: 'Test_Cookie',
expire: 1,
value: true,
},
...
}

当满足条件时,第一次设置 cookie,使用 this.config.value 将 cookie 的值设置为 true:

  setCookie: function () {
if (!this.isCookieSet()) {
$.cookie(this.config.name, this.config.value, this.config.expire);
}
},

但是,当我在代码中返回 cookie 值时,我发现 "true" 返回为字符串,而不仅仅是 true。例如(为简单起见,在上面的示例中更改了名称):

enter image description here

如果我尝试对 cookie 的 value 进行比较,并使用 === true,我会得到一个错误的结果。如果我执行 === "true" 然后我得到一个 true 结果:

showStuff = $.cookie('Test_Cookie') === "true"; // showStuff = true;

showStuff = $.cookie('Test_Cookie') === true; // showStuff = false;

为什么设置cookie值的变量类型会变?

最佳答案

Cookie 是字符串。您需要将 cookie 值转换为您想要的类型。 bool 值被保存为 true 或 false,因为这是 bool 值的字符串表示。

您可以使用以下内容。

var myBool = Boolean($.cookie('Test_Cookie'));

var myBool = ($.cookie('Test_Cookie') === "true");

编辑正如@DelightedD0D 在第一条评论中所建议的那样:

您也可以尝试 - $.cookie('Test_Cookie') === "true"

关于javascript - jQuery cookie 将 bool 值设置为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39349469/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com