懂JS滴帮俺解释一下下面的JS代码

来源:百度知道 编辑:UC知道 时间:2024/05/05 01:30:03
[CODE]:
-----------------------------
var Cookies = {};

function parseCookies(){
cookies = document.cookie.split(";");
for(i = 0; i < cookies.length; i++){
cookie = cookies[i].split("=");
Cookies[trim(cookie[0])] = (cookie.length == 2) ? trim(cookie[1]): "";
}
}

function trim(val){return val.replace(/\s/, "").toLowerCase();}

function cookieExists(cName){
var foundCookie = false;
for(c in Cookies){
if(c.toLowerCase() == cName.toLowerCase()){
if(trim(Cookies[cName.toLowerCase()]) = ''){
foundCookie = true;
}
}
}
return foundCookie;
}

parseCookies();

-----------------
最好能详细点,问题解决加分

这段代码的作用,是对cookie文件进行操作。
具体的说明,看代码中的注释。

//定义一个数组,存放该站点的cookie文件里的Cookie属性值
//这个数组的形式,不是顺序存放(Cookies[0]=xx,Cookies[1]=xx,…),而是类似于Java里的HashTable(Cookies[属性名]=属性值)
var Cookies = {};

//函数:parseCookies
//作用:将cookie文件里的属性解析出来,保存在Cookie数组里
//参数:无
//返回值:无
function parseCookies(){
//将该站点的Cookie内容取得,并将各个参数按分号分开,保存在cookies数组里
//document.cookie是该站点cookie文件的内容,它的格式是:cookie属性名=属性值
//当有多个属性时,用分号来分割
cookies = document.cookie.split(";");

//按cookie属性个数来循环
for(i = 0; i < cookies.length; i++){
cookie = cookies[i].split("="); //将每一个Cookie属性表达式分开为一个数组{属性名, 属性值}
//将属性名与属性值的对应关系存放在Cookies数组里
//如果属性名没有对应的属性值,则将该属性名对应的属性值设为空字符串
Cookies[trim(cookie[0])] = (cookie.length == 2) ? trim(cookie[1]): "";
}
}

//函数:trim
//作用:将一个字符串,去掉空格,并转换成小写字母
//参数:待转换的字符串
//返回值:转换后的字符串
function trim(val){return val.replace(/\s/, "