在JS中如何通过赋值(=)而不是加法赋值(+=)运算符来添加新的document.cookie?

问题描述 投票:0回答:0

以下命令

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
的属性,这只是一个简单的分配。浏览器引擎中是否有任何额外的代码来进行解析?是否有任何资源可以解释这种行为?

javascript cookies browser
© www.soinside.com 2019 - 2024. All rights reserved.