以下代码请逐句详细解释以下,谢谢!
function getCookie(cookie_name) { var allCookies = document.cookie; var cookie_pos = allCookies.indexOf(cookie_name); //如果找到了索引,就代表cookie存在 if (cookie_pos != -1) { cookie_pos += cookie_name.length + 1; var cookie_end = allCookies.indexOf(";", cookie_pos); if (cookie_end == -1) { cookie_end = allCookies.length; } return unescape(allCookies.substring(cookie_pos, cookie_end)); } return null; }
0
收起
正在回答
1回答
同学你好。
1、JavaScript 可以用 document.cookie 获取到当前页面的全部cookie,即allCookies。然后使用传入的参数cookie_name去获取到指定的cookie名的索引cookie_pos。如果找不到,索引值会返回-1。所以如果不是-1那就证明找到了。
2、使用document.cookie获取到的内容形如:cookie1=value;cookie2=value;
所以使用cookie_pos += cookie_name.length + 1;
用先前取得的位置加上cookie名的长度再加1,就是把位置确定在这个cookie名的“=”符号的后面。也就是目标cookie的值的位置。
3、allCookies.indexOf(";", cookie_pos)是获取从cookie_pos开始的第一个“;”的位置,如果没有找到。就让cookie_end等于最后一个位置。
allCookies.substring(cookie_pos, cookie_end)后经unescape转义就可以得到真正的目标cookie的值。
如果解答了同学的疑问,望采纳~
祝学习愉快~
Java数据库开发与实战应用2018版
- 参与学习 人
- 提交作业 277 份
- 解答问题 4297 个
Java数据库开发的必备技能,从流行的MySQL数据库开始,到Java原生的数据库管理接口JDBC的使用,再到常用的数据持久化框架MyBatis,让你向Java工程师的目标又迈进了一步!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星