webApi第9天

98 阅读3分钟
本地存储

作用: 页面刷新了数据还在

localStorage 永久存在除非手动删除
  1. 本地存储 存储数据类型 不管你传入什么类型都好,最终都被它转换成 字符串类型
  2. 本地存储 存储复杂类型 引用类型的数据 会出现数据丢失的问题 固定规则来着
  3. 本地存储无法存放 复杂类型的数据
  4. 复杂类型的数据 通过JSON对象 字符串 相互之间的转换
  5. 生命周期永久生效,除非手动删除 否则关闭页面也会存在
  6. 可以多窗口(页面)共享(同一浏览器可以共享)
  7. 以键值对的形式存储使用 存储数据:localStorage.setItem(key, value)

获取数据:localStorage.getItem(key)

删除数据:localStorage.removeItem(key)

清空所有: clear()

image.png

sessionStorage 关闭浏览器数据丢失
本地存储的技术 sessionStorage  会话(打开页面到关闭页面之间过程 一次会话  ajax node)存储

      登录的时候 

      它的用法和 localStorage 用法一样 

      区别只有一个 

      sessionStorage 关闭页面后 数据就丢失 

      localStorage 除非是用户主动删除 否则一直存在 直到天荒地老
元素属性
  1. 固有属性

id href src标签自带有

  1. 自定义属性

获取dom.getAttribute('hello)

设置dom.setAttribute('hello',456)

删除dom.removeAttribute('hello')

  1. h5建议的自定义属性

<a data-index ='1'>

dom.dataset.index

const a = document.querySelector('a');

      // 获取固有属性

      // console.log(a.href);

      // console.log(a.id);


      // 直接修改

      // a.href="http://www.qq.com";

      // a.id="top";


      // 自定义属性 不能直接通过点语法来获取和设置

      // 获取 getAttribute("属性名")

      // console.log(a.hello);

      // console.log(a.aa);

      // console.log( a.getAttribute("hello") );

      // console.log( a.getAttribute("aa") );



      // 设置 setAttribute(key,value)

      // a.setAttribute("hello","123");


      // 删除掉属性 removeAttribute(key)

      // a.removeAttribute("hello");


      //  自定义属性 -> h5建议的 自定义属性

      // 属性的时候 data-xxx 开头

      //  获取的时候  a.dataset.xxx

      //  设置  a.dataset.index = 3;


      // console.log(a.dataset.index);

      // a.dataset.index = 3;

      /* 

      小结 

      标签的属性 有两种分为

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

      2 自定义属性

        1 随机自己瞎命名  

          <a  abc="123" >  

            获取 (getAttribute) 设置 setAttribute(key,value)  删除   removeAttribute(key)

        2 h5建议 data- xxx

          <a  data-abc="123" >  

            获取(a.dataset.abc)  设置(a.dataset.abc=456;

      3 最强大是  (getAttribute)  setAttribute removeAttribute 

            上述的这个方式,可以获取到任意的属性(固有属性和h5建议的自定义属性)

            <a data-index="0" id="nav" href="http://www.baidu.com" hello="no" aa="bb" >跳转</a >
浏览器渲染页面的流程-了解
  1. 重排 主要修改了元素的大小、位置、定位+浮动等损耗比较多浏览器性能

  2. 重绘

主要修改了外观颜色字体颜色等性能损耗比较低

  1. 最理想的情况 不要出现重排重绘 出现重绘不要出现重排

  2. 定义 重绘不一定会出现重排 重排一定会出现重绘

事件
  1. 事件绑定和取消绑定 addEventListener来绑定事件,并且使用的是具名函数,就可以取消绑定

addEventListener可以绑定多个同名事件

取消事件绑定removeEventListener(事件类型,处理函数)

匿名函数的方式绑定事件无法取消

// const btn = document.querySelector('button');

      // // 普通函数

      // function func() {

      //   console.log('2022-04-15 14:32:26');

      // }

      // function func2() {

      //   console.log("func2");

      // }


      // // 绑定事件

      // btn.addEventListener('click', func);


      // // addEventListener 可以绑定多个同名事件

      // btn.addEventListener('click', func2);

      // setTimeout(function () {

      //   // 取消这个事件绑定

      //   btn.removeEventListener('click', func);

      // }, 5000);

      /* 

      1 addEventListener 可以绑定多个同名事件

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

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

       const btn=document.querySelector("button");


       btn.addEventListener("click",function () {

         console.log("你好");

       })


      //  想要取消 这个 输出你好的行为

      btn.removeEventListener("click",???);

事件三个阶段

  1. 捕获

  2. 目标-点击了最底层的标签处在目标阶段

  3. 冒泡

字符串方法

1. 转大写 toUpperCase()

2. 转小写toLowerCase()

3. 转数组 split('')

4. 拼接字符串 concat()或+

数组

1. 转字符串join()

2. 数组拼接concat()

正则

作用 主要寻找字符串

判断是否有符合规则的字符串:

test() 用来查看正则表达式与指定的字符串是否匹配 regObj.test(被检测的字符串)

image.png 字符类

(.)点 匹配除换行符之外的任何单个字符

想要表示点(.) 本身 加一个反斜杠

console.log(/\./.test('.'));// true

image.png

image.png