• 今天呢,学习了cookie的使用方法,但是呢不管是创建还是修改或是删除,都有一大长串的代码,为了方便多次使用,所以将他封装成类似jquery的js文件


    (function (win,doc) {
        var GD16 = {
            /**
             * 创建cookie
             * @param argument json || string || null
             */
            Crecookie: function (argument) {
                var date = new Date();
                var d = new Date(date.setTime(date.getTime()+10000));
                if(argument){  //参数有值
                    if (typeof argument == 'object') {//创建
                        for (var i in argument) {
                            doc.cookie=i+'='+argument[i]+';expires='+ d.toGMTString();
                        }
                    }
                    else if (typeof argument == 'string') {//获取
                        doc.cookie=argument+'="";expires='+ new Date().toGMTString();
                    }
                    else {
                        return console.error('参数只能是json|string');
                    }
                }else{  // 参数为空的时候
                    var Cookie = document.cookie.split('; ');  // 获取所有cookie,并通过'; '存入数组当中;
                    Cookie.forEach(function(val,index){
                        var value = val.split('=')[0]; // 遍历数组获取名字
                        document.cookie = value+'="";expires=' + new Date().toGMTString();  // 删除cookie
                    });
                }
            }
        };
        win.GD16 = GD16; //挂载
    })(window,document)
    

      这串代码是放到一个js文件中,使用的时候引用js就行了,这些代码只是自己的一些想法,也有一些不足和不完善的地方,希望可以指出;

      引用方法——:

        ① GD16.Crecookie({name:value})  作用 是创建,或修改,name代表名字,value代表值;

        ② GD16.Crecookie(name)  作用 是删除指定名字的cookie, name代表名字;

        ③ GD16.Crecookie( )  作用 是删除所有的cookie, 参数为空;

      

      封装思路——:

        一 方法数量  cookie的方法大致分为创建,修改,删除;
        二 封装方向  进行判断分类的时候,大致可以分为

          1、创建+修改,需要名字和值,所以参数可以为json格式,并通过for in遍历json,使存储或修改;

          2、删除,删除可以是删除某一个cookie和删除全部cookie;

            ① 删除一个,需要得到所删除的指定名字,所以参数可以是字符格式,通过传递的字符(名字),将指定的cookie删除;

            ② 删除所有,不需要任何参数,通过document.cookie,获取所有的cookie,然后使用split('; '),进行分割并存入数组,然后用forEach遍历数组,再用split(‘=’)分割之后得到名字,再删除掉cookie。

        三 大体总结 对传递的参数进行判断,首先判断传递的参数是否存在

          1、当参数存在值时
            ① 判断值是否为json格式  当为json格式时执行创建指令
            ② 判断值是否为字符串格式  当为字符串格式时执行删除某一个cookie指令
          2、当参数不存在值时

            可以得到参数为空,即执行删除所有指令

    大体就是这样,不完善的地方望指出;  
    
    
  • 相关阅读:
    spring框架
    自己来到这个世界的天数
    迭代器
    String
    mybatis-plus条件参数
    Linux常用命令
    web.xml
    log4j.properties
    springmvc.xml
    applicationContext.xml
  • 原文地址:https://www.cnblogs.com/Sheng-tobacco/p/6924026.html
Copyright © 2020-2023  润新知