Jac*_*k M 33 javascript debugging google-chrome javascript-debugger
如果我让Chrome document.cookie通过进入控制台并输入document.cookie;它来给我看,我会告诉我,说:
"name=John; gender=male";
但是如果我输入,比方说,document.cookie = 5;它所做的只是添加5;到字符串的开头,所以我得到:
"5; name=John; gender=male";
如果我尝试document.cookie = null;那么它甚至什么都不做.
怎么会这样?这是一个变量,不是吗?那么为什么赋值运算符不应该以它应该的方式工作呢?它实际上只是一些语法糖而不是一个真正的变量?如果是这样,糖究竟是什么?
T.J*_*der 32
document.cookie有非常特殊的行为.如您所见,分配给它添加(或更新)cookie(或多个cookie),而不是替换所有cookie.这很不寻常.
阅读所有关于它的内容:
赋值运算符右侧的字符串document.cookies应该是以分号分隔的键值对列表,document.cookie = "aKey=5"即将设置/更新aKeycookie.
所以是的,document.cookie表现出特殊的行为.