.......;

上面这串省略号对于各种吐槽的声音;

因为在百度上看到的关于设置cookie的前几篇文章都是错误的;

里面给出的设置cookie的代码是这样的;

functionsetCookie(name,value){varDays=30;varexp=newDate();exp.setTime(exp.getTime()+Days*24*60*60*1000);document.cookie=name+"="+escape(value)+";expires="+exp.toGMTString();}

这个函数只能设置cookie但是不能修改;什么个意思呢看下图就明白了;

因为没有指定路径;所以当再次设置同键名的cookie时就无法覆盖了;

正确的设置cookie姿势是这样的;顺便把读取和删除的也一并送上;

/***设置cookie*@param{string}name键名*@param{string}value键值*@param{integer}dayscookie周期*/functionsetCookie(name,value,days){if(days){vardate=newDate();date.setTime(date.getTime()+(days*24*60*60*1000));varexpires=";expires="+date.toGMTString();}else{varexpires="";}document.cookie=name+"="+value+expires+";path=/";}//获取cookiefunctiongetCookie(name){varnameEQ=name+"=";varca=document.cookie.split(';');for(vari=0;i<ca.length;i++){varc=ca[i];while(c.charAt(0)=='')c=c.substring(1,c.length);if(c.indexOf(nameEQ)==0)returnc.substring(nameEQ.length,c.length);}returnnull;}//删除cookiefunctiondeleteCookie(name){setCookie(name,"",-1);}