求javascript 高手给这段代码每行添加注释,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
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/15 10:06:05
求javascript 高手给这段代码每行添加注释,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
求javascript 高手给这段代码每行添加注释,
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 ""
}
function setCookie(c_name,value,expiredays)
{
var exdate=new Date()
exdate.setDate(exdate.getDate()+expiredays)
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) "" :"; expires="+exdate.toGMTString())
}
function checkCookie()
{
username=getCookie('username')
if (username!=null && username!="")
{alert('Welcome again '+username+'!')}
else
{
username=prompt('Please enter your name:',"")
if (username!=null && username!="")
{
setCookie('username',username,365)
}
}
}
求javascript 高手给这段代码每行添加注释,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
简单注视了一下,是亲手注视的
// 获取 cookie 函数 参数是接受cookie名
function getCookie(c_name)
{
// 如果存在cookie
if (document.cookie.length>0)
{
// 查看 检索cookie中是否存在 cookie
c_start=document.cookie.indexOf(c_name + "=")
// 如果 c_start 不是 -1 则说明存在该cookie
if (c_start!=-1)
{
c_start=c_start + c_name.length+1
// 检索 ; 是否存在 (js 保存cookie 格式是 cookie名=值;
// 上面的 c_start+c_name.length+1 计算 c_start 值之后
// 在下面用 indexOf(';',c_start) 虽然不清楚理由 但可能是为了效率 因为
// indexOf 的第二个参数是指定从那里开始检索
// 如果检索结果 c_end 不是 -1
c_end=document.cookie.indexOf(";",c_start)
// 获取cookie字符串长度
if (c_end==-1) c_end=document.cookie.length
// 返回 cookie 从 c_start 开始到 c_end 间的所有内容
// unescape 是解码函数 因为我们制作cookie的时候一般把值用 escape 函数进行编码后在存储
return unescape(document.cookie.substring(c_start,c_end))
}
}
return ""
}
// 设置 cookie
// c_name cookie 名
// value cookie 值
// expiredays 有效期
function setCookie(c_name,value,expiredays)
{
// 实例化一个date对象
var exdate=new Date()
// 设置当前时间
exdate.setDate(exdate.getDate()+expiredays)
// 设置cookie escape 就不说明了 上面有说过
document.cookie=c_name+ "=" +escape(value)+
// 如果expiredays 不是 null 则说明 该cookie设置了生存时间
((expiredays==null) "" :"; expires="+exdate.toGMTString())
}
// 检查cookie
function checkCookie()
{
// 首先调用 getCookie 传递 cookie 名
username=getCookie('username')
// 如果 username 不为 null 也不为空则说明确实存在该cookie
if (username!=null && username!="")
// 提示 字符串 (因为 getCookie 这个操作会返回 cookie的值 假如 username cookie的值为 superman 那username 就是superman
{alert('Welcome again '+username+'!')}
else
{
// 否则 说明不存在 username 这个cookie
username=prompt('Please enter your name:',"")
// prompt 就不说明了
if (username!=null && username!="")
{
// 设置cookie cookie名是 username 第二个参数是 它的值 365 是cookie的有效期间
setCookie('username',username,365)
}
}
}
/**************
方法名:getCookie()
输入:cookie名
返回:cookie值或空
说明:根据传入的cookie名,查找cookie文件获取cookie的值
**************/
function getCookie(c_name)
{
//当cookie的长度大于0,则该页面存在cookie
全部展开
/**************
方法名:getCookie()
输入:cookie名
返回:cookie值或空
说明:根据传入的cookie名,查找cookie文件获取cookie的值
**************/
function getCookie(c_name)
{
//当cookie的长度大于0,则该页面存在cookie
if (document.cookie.length>0)
{
//根据传入的cookie名查找cookie,看是否存在
c_start=document.cookie.indexOf(c_name + "=")
//等于-1就是不存在,不等于就是存在,这里就是在cookie文件中搜索到了传入的cookie名
if (c_start!=-1)
{
//cookie文件的cookie名后第一个等号之后到第一个分号之间就是cookie的值,因此设置等号后面
//的起始位置就是cookie的名长度+等号的长度
c_start=c_start + c_name.length+1
//从cookie名+等号的位置寻找第一个分号
c_end=document.cookie.indexOf(";",c_start)
//若没有分号,也就是没有失效日期、域、路径、secure等信息,则后面的都是cookie的值
if (c_end==-1) c_end=document.cookie.length
//cookie的值就是从cookie名称的=后面到第一个分号或结束的字符串的URL解码所获取的值
return unescape(document.cookie.substring(c_start,c_end))
}
}
//如果cookie搜索不到,就返回空字符串
return ""
}
//写cookie
//输入:cookie名,cookie值,存活期限
function setCookie(c_name,value,expiredays)
{
//获取一个日期对象
var exdate=new Date()
//设置存活日期(如果传入的日期不是日期或为null怎么办?这个代码写的有问题)
//因为没有判断数据的有效性
exdate.setDate(exdate.getDate()+expiredays)
//写入cookie,我靠,这样随便的就写cookie了?如果cookie名是中文就会乱码了!
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : "; expires="+exdate.toGMTString())
}
//检查cookie
function checkCookie()
{
//获取cookie名为用户名的值
username=getCookie('username')
//如果值不为空
if (username!=null && username!="")
//提示欢迎用户再次xxx回来
{alert('Welcome again '+username+'!')}
else
{
//否则提示请输入用户名
username=prompt('Please enter your name:',"")
if (username!=null && username!="")
{
//用户输入的用户名不为空则设置cookie,存个365天
setCookie('username',username,365)
}
}
}
推荐cookie代码:
使用非常方便
CookieUtil.Read(name)读取cookie
CookieUtil.Add(name, value, expires, path, domain, secure)添加cookie
CookieUtil.Delete(name, path, domain, secure)删除cookie
//CookieUtil对象,Cookie工具
var CookieUtil = {
//根据Cookie名读取Cookie的值
Read: function(name) {
//cookie名+等号的位置,就是值所在的位置,初始赋值为null
var cookieName = encodeURIComponent(name) + "=",
cookieStart = document.cookie.indexOf(cookieName),
cookieValue = null;
//如果找到了对应的名字,则从cookie名+等号的位置寻找第一个分号
if (cookieStart > -1) {
//找到从cookieName=xxxxxx;,xxxxxx部分则是值
var cookieEnd = document.cookie.indexOf(";", cookieStart)
//若没有分号,也就是没有失效日期、域、路径、secure等信息,则后面的都是cookie的值
if (cookieEnd == -1) {
cookieEnd = document.cookie.length;
}
//cookie的值就是从cookie名称的=后面到第一个分号或结束的字符串的URL解码所获取的值
cookieValue = decodeURIComponent(document.cookie.substring(cookieStart + cookieName.length, cookieEnd));
}
//如果没有,则没有对应的cookie,值就是null
return cookieValue;
},
//每块信息由"; "隔开(分号空格),其中,名字与值都必须经过URL编码
//参数:cookie名,值,失效时间(可选),路径(可选),域(可选),secure标志(布尔)(可选)
Add: function(name, value, expires, path, domain, secure) {
//必须先保存URL编码后的cookie名称和值
var cookieText = encodeURIComponent(name) + "=" + encodeURIComponent(value);
//添加失效时间保存形式以格林威治时间,GMT
if (expires instanceof Date) {
cookieText += "; expires=" + expires.toGMTString();
}
//添加路径
if (path) {
cookieText += "; path=" + path;
}
//添加有效的域
if (domain) {
cookieText += "; domain=" + domain;
}
//是否设置secure标志,若有则添加secure块
if (secure) {
cookieText += "; secure";
}
document.cookie = cookieText;
},
//删除Cookie
Delete: function(name, path, domain, secure) {
this.Add(name, "", new Date(0), path, domain, secure);
}
}
收起