本地存储---拓展:自定义属性

233 阅读3分钟

本地存储

随着互联网的快速发展,基于网页的应用越来越普遍,同时也变的越来越复杂,为了满足各种各样的需求,会经常性在本地存储大量的数据,HTML5规范提出了相关解决方案。

1、数据存储在用户浏览器中 2、设置、读取方便、甚至页面刷新不丢失数据 3、容量较大,sessionStorage和localStorage约 5M 左右

localStorage

1、生命周期永久生效,除非手动删除 否则关闭页面也会存在

2、可以多窗口(页面)共享(同一浏览器可以共享)

3、以键值对的形式存储使用

存储数据:

localStorage.setItem(key, value)

获取数据:

localStorage.getItem(key)

删除数据:

localStorage.removeItem(key)

localStorage基本使用 --存取数据:

<body>
    <script>
        //存储日期
        // localStorage.setItem('自定义',值-必须是字符串的格式)

       //存储日期
         localStorage.setItem('date','二零二二年四月十五日 23:40:58')
         //获取它
         const date = localStorage.getItem('date');
        console.log(date);
    </script>
</body>

本地存储的拓展

<body>
    <script>
        //本地存储  存储数据类型 不管你传入什么类型 最终都会被转换成字符串类型
        //数组和对象 合适管理 比较复杂的数据
        const obj =  {
            name:'路飞',
            height:100,
            weught:200};
       //把对象转成字符串
       const objs = JSON.stringify(obj);

            //把字符串 --》本地存储 
            localStorage.setItem('obj',objs);
            //把本地存储的数据重新读取出来
            const newObjs = localStorage.getItem('obj');
            // console.log(newObjs);

            //把字符串解析成原来的对象
            const newObj = JSON.parse(newObjs);
            console.log(newObj);

            /*
            1.本地存储无法存储 复杂类型的数据
            2.复杂类型的数据 通过JSON对象 字符串 相互之间的转换*/

    </script>
</body>

小总结:

  • 存储复杂数据类型存储
  • 本地只能存储字符串,无法存储复杂数据类型.需要将复杂数据类型转换成JSON字符串,在存储到本地
  • JSON.stringify(复杂数据类型)
  • 将复杂数据转换成JSON字符串 存储 本地存储中
  • JSON.parse(JSON字符串)
  • 将JSON字符串转换成对象 取出 时候使用

本地存取 四个api

  1. ​ 存 localStorage.setItem('abc',1223)
  2. ​ 取 localStorage.getItem(key)
  3. ​ 删除一个 localStorage.removeItem(key)
  4. ​ 清空 localStorage.clear()

拓展: 自定义属性

固有属性: 标签天生自带的属性 比如class id title等, 可以直接使用点语法操作 自定义属性: 由程序员自己添加的属性,在DOM对象中找不到, 无法使用点语法操作,必须使用专门的API getAttribute('属性名') // 获取自定义属性 setAttribute('属性名', '属性值') // 设置自定义属性 removeAttribute('属性名') // 删除自定义属性

1650048240827

data-自定义属性: 传统的自定义属性没有专门的定义规则,开发者随意定值,不够规范,所以在html5中推出来了专门的data-自定义属性 在标签上一律以data-开头 在DOM对象上一律以dataset对象方式获取

1650048320909

标签属性的补充说明

小结

标签 的属性 有两种分为

1.固有属性 比如 id href src 点语法方式获取和设置 方便

2.自定义属性

绑定事件和取消

// 绑定函数的时候用的匿名函数 没办法取消 不知道函数名称

addEventListener 可以绑定多个同名事件

removeEventListener 可以取消对应的事件类型和事件处理函数

无法取消 addEventListener 事件 对应的匿名函数

1650091508009

1650090507133

字符串方法

在实际开发过程中 有很多需求 需要针对字符串做处理 今天先来一些字符串转大小写方法

1650091536735

1650091553167

字符串和数组很相似

能不能把字符串 转成数组?

1650095208240

1650095224729

、、转大写 toUpperCase()

// 转小写 toLowerCase()

、、转数组 str.split('') 按照什么分割你的字符串变成数组

数组转成字符串 常用

1650096079099

1650096096651

数组与数组之间连接

concat方法

1650096491276

1650096535023

blog.csdn.net/egg_er/arti…