javascript 建立cookie的一段代码中请解释下这条语句

c_start=document.cookie.indexOf(c_name+"=")//查找cookie中c_name的位置c_name+"="这个等号的作用是什么fu... c_start=document.cookie.indexOf(c_name + "=") //查找cookie中c_name的位置
c_name+"=" 这个等号的作用是什么
function getCookie(c_name)
{
if (document.cookie.length>0)
{
c_start=document.cookie.indexOf(c_name + "=")
if (c_start!=-1)
{
c_start=c_start + c_name.length+1
c_end=document.cookie.indexOf(";",c_start)
if (c_end==-1) c_end=document.cookie.length
return unescape(document.cookie.substring(c_start,c_end))
}
}
return ""
}
展开
 我来答
人形兵器1U
2012-04-04 · TA获得超过267个赞
知道小有建树答主
回答量:83
采纳率:0%
帮助的人:140万
展开全部
1. cookie保存在系统中的时候是以“cookie名1=cookie值;cookie名2=cookie值”这样的方式来保存的。
2. document.cookie是返回包含所有cookie的字符串。
3. document.cookie.indexOf(c_name + "=")是取得这个cookie名在整个cookie中的位置。
4. c_start=c_start + c_name.length+1是用先前取得的位置加上cookie名的长度再加1,就是把位置确定在这个cookie名的"="符号的后面。
5. c_end=document.cookie.indexOf(";",c_start)是从上一步的位置开始查找,直到";"的位置。
6. document.cookie.substring(c_start,c_end))就是取该cookie名的等号后面到分号前面的字符串,即对应的cookie值。
追问
3.  document.cookie.indexOf(c_name + "=")是取得这个cookie名在整个cookie中的位置
能详细的说下这个“=”的作用是什么吗?
追答
他是取cookie名加上等于号的位置,比方整个cookie是"user=tony;passwd=user123",这时候查找名为user的cookie的值的时候,是查找"user="的位置,如果不要等于号,就会找到其他位置的"user",比如后面密码里面也有user字符但并不是cookie名所在的位置。因为cookie中cookie名都是唯一的,所以加上等于号就不会出错了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式