Web API基础知识六

102 阅读3分钟

Web API基础知识六

本地存储(约5M)

localStorage(永久存在除非手动删除)

sessionStorage(关闭浏览器 消失不见)

/*本地存储 四个api
1 存 localStorage.setItem(key,value)
2 取 localStorage.getItem(key)
3 删除 localStorage.removeItem(key)
4 清空 localStorage.clear()
*/
用法(两者一致):
const date=localStorage.getItem("date");
console.log(date)

存储复杂数据类型存储

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

方法:

1.存储JSON.stringify(复杂数据类型)

2.取出JSON.parse(JSON字符串)

const objStr = JSON.stringify(obj)
localStorage.setItem("obj",objStr)
const newObjStr =  localStorage.getItem("obj");
      // // console.log(newObjStr)
      const newObj = JSON.parse(newObjStr);

      console.log(newObj)
元素属性

固有属性

​ 比如 id href src 点语法的方式获取和设置 方便

自定义属性

​ 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 >
高阶函数(了解)

a 一个函数 可以把另一个函数b 当成参数来接收处理 或者 返回另一个新的函数c,那么函数 a就是高阶函数

浏览器渲染页面的流程

1.重绘:主要修改了外观颜色字体颜色(性能损耗比较低)

2.重排:主要修改了元素的大小、位置、定位+浮动(损耗比较多浏览器性能)

注意:出现重绘不一定出现重排,但出现重排就一定出现重绘

事件拓展

绑定:addEventListener来绑定事件,并且使用具名函数就可以取消绑定

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

btn.addEventListener('click', func);

addEventListener 可以绑定多个同名事件
btn.addEventListener('click', func2);
btn.removeEventListener('click', func)

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

​ 匿名函数无法取消绑定

const btn=document.querySelector("button");
       
       btn.addEventListener("click",function () {
         console.log("你好");
       })

      //  想要取消 这个 输出你好的行为
      btn.removeEventListener("click",???)
字符串方法

开发过程中,有很多需求要针对字符串做处理

用js封装字符串的方法:

1.转大写toUpperCase( )

2.转小写toLowerCase( )

3.转数组 split( " " )

let msg = 'abcd'
console.log(msg.toUpperCase())

let msg = 'HELLODFDFDFDFDFD'
console.log(msg.toLowerCase())

const str="abcdefg"; //=> ["a","b","c","d","e","f","g"]
console.log(str.split(""))
数组方法

1.转成字符串

2.拼接concat()

const arr = ['a', 'b', 'c', 'd'];

 console.log(arr.join('')); // join 数组转字符串
console.log(arr.join('-')); // a-b-c-d 数组转字符串

const str1 = '123';
      const str2 = 'abc';
      console.log(str1.concat(str2));// 很少用  有什么用? 当你的键盘 + 键坏  使用它
正则表达式

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

例如验证表单:用户名表单只能输入英文字母、数字或者下划线, 昵称输入框中可以输入中文(匹配)

//定义正则表达式语法:
	let 变量名 = /表达式/
	其中/ /是正则表达式字面量

用 test( )方法查看正则表达式与指定的字符串是否匹配

regObj.test(被检测的字符串)
ex:
let str = '海贼王,路飞,航海王,海军,索隆'
let reg = /路飞/
let re = reg.test(str)
console.log(re)  //true
//如果字符串匹配,返回true,否则false
元字符

1.边界符

​ ^ ----开头

​ $ -----结尾

​ (如果^ 和 $ 在一起,表示必须是精确匹配)

2.量词

1650036238340.png

3.字符类(占位符)

1650036289429.png