【博学谷学习记录】超强总结,用心分享 _ 前端开发 webAPI知识点总结(下)


BOM浏览器对象模型:

在这里插入图片描述

  • window对象是一个全局对象,也可以说是JavaScript中的顶级对象
  • 像document、alert()、console.log()这些都是window的属性,基本BOM的属性和方法都是window的。
  • 所有通过var定义在全局作用域中的变量、函数都会变成window对象的属性和方法
  • window对象下的属性和方法调用的时候可以省略window

线程机制:

cpu的基本调度单位,是程序执行的一个完整流程

js是单线程的
js代码:同步:1、会阻塞后续代码的执行,同步任务都在主线程上执行,形成一个执行栈。2、没有回调
	   异步:1、不会阻塞。2、有回调,比如click事件,定时器等。异步任务添加到任务队列中

js执行机制 :

1. 先执行执行栈中的同步任务。
2. 异步任务放入任务队列中。
3. 一旦执行栈中的所有同步任务执行完毕,系统就会按次序读取任务队列中的异步任务,于是被读取的异步任务结束等待状
态,进入执行栈,开始执行。之后通过轮询方式询问是否有可执行的异步任务。
由于主线程不断的重复获得任务、执行任务、再获取任务、再执行,所以这种机制被称为事件循环。

本地存储

  • 页面刷新数据不丢失
  • 都是字符串存入,无法存复杂数据类型

分类:localStorage sessionStorage

localStorage:

  • 作用: 可以将数据永久存储在本地(用户的电脑), 除非手动删除,否则关闭页面也会存在
  • 特性:
    • 可以多窗口(页面)共享(同一浏览器可以共享)
    • 以键值对的形式存储使用
  • 语法: 浏览器application中可查看本地仓库
    存储数据:
localStorage.setItem(key, value)
localStorage.setItem('love','爱')

获取数据:

localStorage.getItem(key)

删除数据:

localStorage.removeItem(key)

sessionStorage:

  • 特性:
    • 生命周期为关闭浏览器窗口
    • 在同一个窗口(页面)下数据可以共享
    • 以键值对的形式存储使用
    • 用法跟localStorage 基本相同

存储复杂数据类型: 转为json串存储

const obj = {
    uname: ' 小红 ',
    age: 14,
    gender: '女'
}
localStorage.setItem('obj', JSON.stringify(obj))
console.log(JSON.parse(localStorage.getItem('obj')));

正则表达式

用于匹配字符串中字符组合的模式

语法:

字面量创建:

		定义正则表达式语法:  ( / / 是正则表达式字面量 )
		const  变量名=/表达式/
		**方法一:**  test() 方法 用来查看正则表达式与指定的字符串是否匹配
			regObj.test(被检测的字符串)       返回true/false
const str = '我们在学习前端,希望学习前端能高薪毕业'
const reg = /前端/
console.log(reg.test(str));     

方法二: exec() 方法 在一个指定字符串中执行一个搜索匹配
regObj.exec(被检测字符串) 返回数组

console.log(reg.exec(str));

构造函数创建:

const 变量名= new RegExp(表达式 , 修饰符)

元字符:

分类:

  • 边界符(表示位置,开头和结尾,必须用什么开头,用什么结尾)

     ^      表示匹配行首的文本(以谁开始)
     $      表示匹配行尾的文本(以谁结束)
     如果 ^ 和 $ 在一起,表示必须是精确匹配。
    
  • 量词 (表示重复次数)

     *            重复0次或更多次               
     +            重复1次或更多次
     ?            重复0次或1次
     {n}         重复n次
     {n,}        重复n次或更多次
     {n,m}    重复n次到m次
    
  • 字符类 (比如 \d 表示 0~9)

     [ ]    匹配字符集合,主要包含[ ]中的任意一个字符,返回true
     	       [0-9]  匹配任意一个数字
     [^ ]   匹配除了xx以外的字符串
     	       [^a-z]  匹配除了小写字母以外的字符
     .      匹配除 \n 之外的任何字符
     	
     |      或者
    

在这里插入图片描述

  • 修饰符:

     语法:/表达式/修饰符
     	 i : 正则匹配时字母不区分大小写
     	 g:匹配所有满足正则表达式的结果
    
  • 替换replace

    语法: 字符串.replace(/正则表达式/ , ‘替换的文本’ )

    const str = 'java是一门编程语言,学完java工资很高'
    console.log( str.replace(/java/ig,'前端') );
    

案例:
3到9位的英文字母大小写或数字组成

/^[a-zA-Z0-9]{3,9}$/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值