zoukankan      html  css  js  c++  java
  • 原生JS(cookie操作的封装)

    封装cookie的操作:查询cookie个数、查询所有cookie的键、获取cookie、设置cookie、删除cookie、清除全部cookie
    
    /**
    * cookieStorage
    */
    function cookieStorage( maxage, path ){
    var cookie = ( function(){
    var cookie = {};
    var all = document.cookie;
    if( all ==="" ){
    return cookie;
    }
    var list = all.split( "; " );
    for( var i=0; i<list.length; i++ ){
    var singleCookie = list[i];
    var p = singleCookie.indexOf( "=" );
    var name = singleCookie.substring( 0, p );
    var value = singleCookie.substring( p+1 );
    value = decodeURIComponent( value );
    cookie[name] = value;
    }
    return cookie;
    }() );
    
    var keys = [];
    for( var key in cookie ){
    keys.push( key );
    }
    
    this.length = keys.length;
    this.key = function( n ){
    if( n < 0 || n > keys.length-1 ){
    return null;
    }
    return keys[n];
    }
    this.getItem = function(){
    return cookie[name] || null;
    }
    this.setItem = function( key, value ){
    if( !( key in cookie ) ){
    keys.push( key );
    this.length ++;
    }
    cookie[key] = value;
    var cookie = key + "=" + encodeURIComponent( value );
    if( maxage ){
    cookie += "; max-age=" + maxage;
    }
    if( path ){
    cookie += "; path=" + path;
    }
    document.cookie = cookie;
    }
    this.removeItem = function( key ){
    if( !( key in cookie ) ){
    return;
    }
    delete cookie[key];
    for( var i=0; i<keys.length; i++ ){
    if( keys[i] === key ){
    keys.splice( i, 1 );
    break;
    }
    }
    this.length--;
    document.cookie = key + "=; max-age=0";
    }
    this.clear = function(){
    for( var i=0; i<keys.length; i++ ){
    document.cookie = keys[i] + "=; max-age=0";
    }
    cookie = {};
    keys = [];
    this.length = 0;
    }
    }
  • 相关阅读:
    bzoj4804
    bzoj2962
    bzoj4827
    bzoj2553
    bzoj3611
    BZOJ 1636: [Usaco2007 Jan]Balanced Lineup
    BZOJ 1635: [Usaco2007 Jan]Tallest Cow 最高的牛
    BZOJ 1634: [Usaco2007 Jan]Protecting the Flowers
    BZOJ 1631: [Usaco2007 Feb]Cow Party
    BZOJ 2582: [Usaco2012Jan]Bovine Alliance
  • 原文地址:https://www.cnblogs.com/czx521/p/6488742.html
Copyright © 2011-2022 走看看