web api 09天

99 阅读3分钟

js Web Api 09天

本地储存

作用: 用于存储数据 (字符串 5m )页面刷新了数据还在

①. localStorage

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

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

  • 以键值对的形式存储使用

<script>
      // 存储日期
      // localStorage.setItem("自定义",值-必须是字符串的格式)
      localStorage.setItem("date","二〇二二年四月十五日 09:06:48")

      // 获取它
      const date=localStorage.getItem("date");
    
    // 删除数据
    //  localStorage.removeItem("date ")
    //  清空所有
    //  clear()
      console.log(date);
    </script>

1650099214238.png

存储复杂数据类型存储

本地只能存储字符串,无法存储复杂数据类型.需要将复杂数据类型转换成JSON字符串,在存储到本地

  • JSON.stringify(复杂数据类型)

    ​ 》将复杂数据转换成JSON字符串 存储 本地存储中

  • JSON.parse(JSON字符串)

    》 将JSON字符串转换成对象     **取出**  时候使用
    
sessionStorage(了解)
  • 生命周期为关闭浏览器窗口
  • 在同一个窗口(页面)下数据可以共享
  • 以键值对的形式存储使用
  • 用法跟localStorage 基本相同
<script>
      /* 
      本地存储的技术 sessionStorage  会话(打开页面到关闭页面之间过程 一次会话  ajax node)存储
      登录的时候 
      它的用法和 localStorage 用法一样 
      区别只有一个 
      sessionStorage 关闭页面后 数据就丢失 
      localStorage 除非是用户主动删除 否则一直存在 直到天荒地老
       */

      //  存数据
      // sessionStorage.setItem("ss",123);
      //  取数据
      // console.log(sessionStorage.getItem("ss"));
      // 删除一个
      // sessionStorage.removeItem("ss")
      // 清空
      // sessionStorage.clear();
    </script>

元素属性

固有属性

标签天生自带的属性 比如class id title等, 可以直接使用点语法操作

 <a data-index="0" id="nav" href="http://www.baidu.com" hello="no" aa="bb" >跳转</a >

    <script>
      // 获取 dom元素的固有属性  通过点语法来获取
      const a = document.querySelector('a');
      // 获取固有属性
      // console.log(a.href);
      // console.log(a.id);

      // 直接修改
      // a.href="http://www.qq.com";
      // a.id="top";

      /* 
      

    </script>

自定义属性

由程序员自己添加的属性,在DOM对象中找不到, 无法使用点语法操作,

必须使用专门的API

getAttribute('属性名') // 获取自定义属性

setAttribute('属性名', '属性值') // 设置自定义属性

removeAttribute('属性名') // 删除自定义属性

<div class="box"></div>
    <script>
      let box = document.querySelector('.box')
      box.setAttribute('myid', 10)
      console.log(box.getAttribute('myid'));
        
        
        
        //  自定义属性 -> h5建议的 自定义属性
      // 属性的时候 data-xxx 开头
      //  获取的时候  a.dataset.xxx
      //  设置  a.dataset.index = 3;

      // console.log(a.dataset.index);
      // a.dataset.index = 3;
     
    </script>
data-自定义属性:

传统的自定义属性没有专门的定义规则,开发者随意定值,不够规范,所以

在html5中推出来了专门的data-自定义属性 在标签上一律以data-开头

在DOM对象上一律以dataset对象方式获取


    <div class="box" data-id="10"></div>
    <script>
      let box = document.querySelector('.box')
      
      console.log(box.dataset.id);
     
    </script>

正则表达式

  • 正则表达式(Regular Expression)是用于匹配字符串中字符组合的模式。在 JavaScript中,正则表达式也是对象

  • 通常用来查找、替换那些符合正则表达式的文本,许多语言都支持正则表达式。

1650100852982.png

语法:

 let str = 'IT培训,前端开发培训,web前端培训,软件测试培训,产品经理培训'
      let reg = /前端/
      let re = reg.test(str)
      console.log(re); // true

1650101420032.png

元字符

  • 普通字符:

    ​ 大多数的字符仅能够描述它们本身,这些字符称作普通字符,例如所有的字母和数字。

    ​ 也就是说普通字符只能够匹配字符串中与它们相同的字符。

  • 元字符(特殊字符)

    ​ 》比如,规定用户只能输入英文26个英文字母,普通字符的话 abcdefghijklm…..

    ​ 》但是换成元字符写法: [a-z]

    ​ 参考文档:

    ​ 》MDN:developer.mozilla.org/zh-CN/docs/…

    ​ 》正则测试工具: tool.oschina.net/regex

①. 边界符

正则表达式中的边界符(位置符)用来提示字符所处的位置,主要有两个字符

1650101420032.png

 <script>

      // 边界符
  console.log(/^[a-zA-Z]{3,8}$/.test("111222 abc 333444"));// false
     console.log(/^[a-zA-Z]{3,8}$/.test("abc"));// true

      // 手机号码 验证  知道手机号码的验证规则 不懂去百度
      // 规则 以数字1开头 第二位数字可以是 35789  其他9位数字 (11位数组)
      console.log( /^1[35789]\d{9}$/.test("dd")  );// false
      console.log( /^1[35789]\d{9}$/.test("12345678901")  );// false
      console.log( /^1[35789]\d{9}$/.test("13345678901"));// false
       console.log( /^1[35789]\d{9}$/.test("15345678901"));// false


    </script>
②.量词

1650101706167.png

③. 字符类

(1)[ ] 里面加上 - 连字符

  • 使用连字符 : 表示一个范围

1650101883988.png

  • 比如:

    ​ 》[a-z] 表示 a 到 z 26个英文字母都可以

    ​ 》[a-zA-Z] 表示大小写都可以

    ​ 》[0-9] 表示 0~9 的数字都可以

    如:

1650113927403.png

[ ] 里面加上 ^ 取反符号

比如:

[ ]   里面加上 ^  取反符号  
比如:
[^a-z] 匹配除了小写字母以外的字符
注意要写到中括号里面

1650114004452.png

④. 修饰符

修饰符约束正则执行的某些细节行为,如是否区分大小写、是否支持多行匹配等

 <script>
      //  /表达式/修饰符 
     
    //   i 是单词 ignore 的缩写,正则匹配时字母不区分大小写
    //   g 是单词 global 的缩写,匹配所有满足正则表达式的结果
console.log(/a/i.test('a'))  // true
console.log(/a/i.test('A'))  // true

    </script>

替换 replace 替换

<script>
    //  字符串.replace(/正则表达式/, '替换的文本')
   </script>