以下命令
console.log(typeof document.cookie);
打印 string
所以很自然地认为添加新的 cookie 应该通过增加这个字符串的值来完成,例如:
document.cookie += 'a=1;';
document.cookie += 'b=2;';
document.cookie += 'c=3;';
document.cookie += 'd=4;';
然后
console.log(document.cookie);
给出以下内容:a=1; b=2; c=3; d=4
然而,这也有效(注意缺少加号和分号):
document.cookie = 'a=1';
document.cookie = 'b=2';
document.cookie = 'c=3';
document.cookie = 'd=4';
console.log(document.cookie);
仍然打印a=1; b=2; c=3; d=4
我的问题是——这怎么可能?我没有通过方法分配这个
document
的属性,这只是一个简单的分配。浏览器引擎中是否有任何额外的代码来进行解析?是否有任何资源可以解释这种行为?