javascript - 无法理解 JavaScript 代码

标签 javascript html cookies

我正在学习在 JavaScript 中创建 cookie,我在理解最后 3 行代码的工作时遇到问题。我知道这个问题不适合 Stackoverflow Standand,但如果有人友善地解释它,我将不胜感激。

function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; 
expires="+exdate.toUTCString()); 
document.cookie=c_name + "=" + c_value;
}

最佳答案

如果 exdays 不为空,即它作为参数给出(在 JavaScript 中,函数可以接受任意数量的参数),则使用三元检查(if/else 简写),它会附加字符串“expires=...”到 cookie 字符串。否则,就没有过期字符串(它将是一个 session cookie)。

最后修改document.cookie。有关 cookie 和通过 JS 更改的更多信息,请参阅 www.quirksmode.org/js/cookies.html

基本上,要使用 JS 添加新的 cookie,您可以设置 document.cookie = "key=value"。其他 cookie 不会被覆盖,只是附加新的 cookie。

要删除其他cookie,需要设置一个过去的到期日期,它们将被浏览器清除。

如果您只是打印 document.cookie,您将看到所有 cookie(技术上不是所有 cookie,除了仅 http 的 cookie 等),但无法从 JavaScript 获悉它们的到期日期。

关于javascript - 无法理解 JavaScript 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9273278/

相关文章:

javascript - 用 jquery/javascript 替换选定的文本

javascript - JQuery : . one() 在我的网站上不起作用

javascript - 在超过 1 个 div 中使用相同类型的 javascript

javascript - HTML - 页面之间的cookie。

android - 在 Android 上的获取响应中只收到一个 cookie,但在 iOS 上不接收

javascript - 使用 jquery 隐藏 Qualtrics 中的列表项

javascript - 从另一个js文件中的变量调用函数

html - 为什么 css 属性 "important"不起作用?

javascript - 使用事件委托(delegate)时有没有办法检查元素的属性?

javascript - Chrome 扩展 : Making a http request to a node. js 服务器发送 cookie 凭据 (CORS)