BOM 中的 document.cookie 对象蕴含了所有的 cookie 字符串,以 Internet Explorer 浏览器为例,值被 “ ; ” 号离开,格局大略为 “ 名称=值;expires=过期工夫 ”,当有多个 cookie 时名称与值以 “ ; ” 号离开,开发者操作 cookie 只能本人进行解析操作,这样就变得十分繁琐,于是上面的办法提供了三个罕用的 cookie 操作方法:

//依照指定的名称、值与存在小时数设置 Cookiefunction SetCookie(_name, _value, _hours) {    var d = new Date();    d.setTime(d.getTime() + (_hours * 60 * 60 * 1000));    var expires = "expires=" + d.toGMTString();    document.cookie = encodeURIComponent(_name) + "=" + encodeURIComponent(_value) + "; " + expires;}//返回指定名称的 Cookie 的值function GetCookie(_name) {    var name = encodeURIComponent(_name) + "=";    var ca = document.cookie.split(';');    for (var i = 0; i < ca.length; i++) {        var c = ca[i].trim();        if (c.indexOf(name) == 0) {            return decodeURIComponent(c.substring(name.length, c.length));        }    }    return undefined;}//删除指定名称的 Cookiefunction DelCookie(_name) {    document.cookie = encodeURIComponent(_name) + "=; expires=Thu, 01 Jan 1970 00:00:00 GMT";}

SetCookie 办法应用小时作为单位,以 “ name=Henry ” 为例,SetCookie("name","Henry",0.5) 能够设置该 cookie 并存在半个小时;GetCookie("name") 能够获取到 "Henry" 的返回值;DelCookie("name") 间接删除,这个时候再调用 GetCookie("name") 只会失去 undefined 的返回值,SetCookie 办法既能够用来新增也能够用来批改。