关于jQuery中的cookie的奇怪问题。我有以下内容:
console.log("ShowMoveItems() : " + $.cookie('selectedmoveitems'));
console.log("ShowMoveItems() ISNULL : " + $.cookie('selectedmoveitems') === null);
在Firefox的控制台中输出以下内容:
"ShowMoveItems() : null"
false
为了感兴趣,我还尝试了== null
,结果与===null
相同。为什么在"ShowMoveItems() : " + $.cookie('selectedmoveitems')
将cookie显示为null时会出现这种情况?
更新来自@RohanKumar的评论:
console.log("ShowMoveItems() : ")
console.log($.cookie('selectedmoveitems'));
console.log("ShowMoveItems() ISNULL : ");
console.log($.cookie('selectedmoveitems') === null);
"ShowMoveItems() : "
null
"ShowMoveItems() ISNULL : "
true
答案 0 :(得分:0)
当转换为字符串时,如果您有文字"null"
和null
字符串,则会获得"null"
。没有办法说出来。因此,我建议您让控制台按原样打印变量:
console.log("ShowMoveItems() : ", $.cookie('selectedmoveitems'));
...或(如果您的控制台使用与Firebug兼容的API):
console.log("ShowMoveItems() : %o ", $.cookie('selectedmoveitems'));
此外,===
运算符的lower precedence比+
(加法)运算符的{{3}},因此:
"ShowMoveItems() ISNULL : " + $.cookie('selectedmoveitems') === null
...等于:
("ShowMoveItems() ISNULL : " + $.cookie('selectedmoveitems')) === null
...无论false
返回什么,显然都是$.cookie()
。