今天的码农女孩做了关于存储的笔记和练习 2022/1/19

HTML5存储
html5存储和cookie区别
1.cookie存储在浏览器下,html5存储在磁盘中
2.cookie在服务端发送,html5在客户端使用
3.cookie需要联网使用,html5可以不用网络
4.cookie最多存储4kb,html5看磁盘大小
5.cookie有时间周期,到时间会自动删除,html5除非手动删除,否则一直存在
cookie存储
cookie用来存储页面的值,一个网站共享一套cookie,cookie并不是浏览器提供的,是由程序员自己创建的,一个文件大小不得超过4kb,每个网站能存储20个左右,在一定期限内cookie会过期
操作
document.cookie设置或返回cookie
注意:如果cookie不给设置时间,则浏览器关闭会消失
        时间属性expires是固定的,用日期类型定义
自己封装cookie操作方法
        function getcookie(attr){//查询
            var cok=document.cookie
            var arr=cok.split(";")
            for(var i=0;i<arr.length;i++){
                var x=arr[i].split("=")
                if(x[0].trim()==attr){
                    return x[1]
                }
            }
        }
        function setcookie(attr,value,time){//添加修改
            document.cookie==attr+"="+value+";expires="+time
        }
        function delcookie(attr){//删除
            var t=new Date()
            t.setDate(t.getDate()-1)
            document.cookie=attr+"=;expires="+t
        }
cookie作用:登录状态,跟踪用户行为,定制页面,创建购物车
html5本地存储
sessionStorage:会话性存储,在浏览器关闭之后,数据会自动消失
localStorage:本地型存储,除非程序员手动删除,否则一直存在
属性和方法:
1.clear()清空数据
2.key()遍历数据
3.getltem(attr)获得数据
4.setItem(attr,value)设置属性值

下面是一个练习将三种方法全部做了一遍。

当选择记住我时,浏览器就会记住输入的用户名和密码

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

</head>

<body>

    <form action="" name="f1">

        <p>用户名:<input type="text" name="user"></p>

        <p>密码:<input type="password" name="pass"></p>

        <p>

            <input type="button" value="提交" class="btn">

            <input type="checkbox" name="ch">记住我

        </p>

    </form>

    <script>

        var ch=f1.ch.value

        var u=f1.user

        var p=f1.pass

       //第一种localStorage会一直保存

        if(localStorage.getItem("user")){

            u.value=localStorage.getItem("user")

            p.value=localStorage.getItem("password")

            f1.ch.checked=true

        }

        var btn=document.querySelector(".btn")

        btn.οnclick=function(){

            if(f1.ch.checked==false){

                localStorage.clear()

            }

            else{

                localStorage.setItem("user",u.value)

                localStorage.setItem("password",p.value)

            }

        }

       

//第二种

        //封装cookie

        function getcookie(attr){//查询

            var cok=document.cookie

            var arr=cok.split(";")

            for(var i=0;i<arr.length;i++){

                var x=arr[i].split("=")

                if(x[0].trim()==attr){

                    return x[1]

                }

            }

        }

        function setcookie(attr,value,time){//添加修改

            document.cookie==attr+"="+value+";expires="+time

        }

        function delcookie(attr){//删除

            var t=new Date()

            t.setDate(t.getDate()-1)

            document.cookie=attr+"=;expires="+t

        }

        if(getcookie("user")){

            u.value=getcookie("user")

            p.value=getcookie("password")

            f1.ch.checked=true

        }

        var btn=document.querySelector(".btn")

        btn.οnclick=function(){

            if(f1.ch.checked==false){

                delcooki("user")

                delcooki("password")

            }

            else{

                var t=new Date()

                t.setDate(t.getDate()+1)

                setcookie("user",u.value)

                setcookie("password",p.value)

            }

        }

       

        //第三种sessionStorage不关闭浏览器不清空,关闭就清空

        if(sessionStorage.getItem("user")){

            u.value=sessionStorage.getItem("user")

            p.value=sessionStorage.getItem("password")

            f1.ch.checked=true

        }

        var btn=document.querySelector(".btn")

        btn.οnclick=function(){

            if(f1.ch.checked==false){

                sessionStorage.clear()

            }

            else{

                sessionStorage.setItem("user",u.value)

                sessionStorage.setItem("password",p.value)

            }

        }

       

    </script>

</body>

</html>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值