当前位置: 首页 > news >正文

JS的学习6

1.本地存储

  1. localStorage
  • localStorage.setItem(key,value) 存储数据
  • localStorage.getItem(key) 获取数据
  • localStorage.removeItem(key) 删除指定数据
  • localStorage.clear()清除所有数据
  • localStorage.length 获取存储长度
  • localStorage.key(0) 通过索引获取key
  1. sessionStorage
  • sessionStorage.setItem(key,value) 存储数据
  • sessionStorage.getItem(key) 获取数据
  • sessionStorage.removeItem(key) 删除指定数据
  • sessionStorage.clear()清除所有数据
  • sessionStorage.length 获取存储长度
  • sessionStorage.key(0) 通过索引获取key

2.storage事件

window.addEventListener('storage', (event) => {console.log('数据变化:', event.key);          // 被修改的键console.log('旧值:', event.oldValue);         // 修改前的值console.log('新值:', event.newValue);         // 修改后的值console.log('触发页面URL:', event.url);        // 修改发生的页面地址console.log('被操作的存储对象:', event.storageArea)
});

3.移动端触屏事件

  1. 触屏touch事件
  • touchstart 手指触摸时触发
  • touchmove 手指滑动时触发
  • touchend 手指移开时触发
  • touchcancel 触摸被意外中断时触发(如来电、弹窗等)
  1. 事件对象
  • touches 正在触摸屏幕的所有手指的一个列表
  • targetTouches 正在触摸当前DOM元素上的手指的一个列表
  • changedTouches 手指状态发生了改变,从无到有,从有到无

4.错误处理

  1. 防止程序崩溃
  • try{ 可能会出错的代码 throw new Error('自定义错误') } catch(error) { 捕获错误并处理 } finally { 无论是否出错都会执行(可以不写) }
  1. error对象
  • error.name 错误类型
  • error.message 错误描述
  • error.stack 调用栈 属性定位到问题在第几行第几列
  1. 常见错误类型

5.错误处理事件

  1. 全局处理window.onerror window.οnerrοr= function(message,source,lineno,colno,error){ }
  • message :错误信息(字符串)
  • source :发生错误的脚本URL(字符串)
  • lineno 错误发生的行号(数字)
  • colno:错误发生的列号(数字)
  • error:Error对象(包含堆栈跟踪等详细信息)

6.单线程

  1. 特点
  • 一次执行一个任务
  • 代码按书写顺序执行
  • 一个耗时任务会阻塞后续所有任务,页面渲染和用户交互会被冻结
  1. 问题解决
  • 异步非阻塞 回调函数,将函数作为参数进行传递,异步完成后执行
  • web worker
  1. web worker的限制
  • 同源限制线程脚本必须与主线程脚本同源
  • 文件限制worker无法读取本地文件(file://)
  • 无法读取主线程上的DOM元素,无法使用document、window、parent这些对象
  • 只能传递可序列化的数据(如数组、对象等),不能传递DOM或函数
  • 不能直接通信需要使用postMessage和onMessage
  • 不可以使用alert和confirm方法,但可以使用XMLHttpRequest对象发出AJAX请求,也可以使用定时器与延时器等API
  1. API
  • worker.onMessage:向worker的父级接收来自其worker的信息时,会在Worker对象上触发message事件
  • worker.postMessage:向worker的内部作用域发送一个消息,消息可由任何Javascript对象组成
  • worker.onerror:当worker出现运行中错误时,他的onerror事件处理函数会被调用。
  • worker.terminate:立即终止worker
  1. 常见使用方式
  • 直接指定脚本new worker(aURL,options)
  • 使用Blob URL创建

语法:

let blob = new Blob(数组,对象)

blob.size:返回Blob对象的字节长度

blob.type:返回Blob的MIME类型

注意:

使用new Blob的方法需要使用URL.createObjectURL(blob)创建一个临时的url对象,生成临时的js文件地址

思考

获取元素属性:style.setProperty('属性名','属性值')

  • 一个参数时就只是获取元素的属性
  • 两个参数时,第一个参数是获取到的属性,第二个参数是要修改的属性值

http://www.dtcms.com/a/331250.html

相关文章:

  • 目标检测-动手学计算机视觉12
  • Redis入门到实战教程,深度透析redis
  • Promise 对象作用及使用场景
  • 实验室的样本是否安全?如何确保实验数据的准确性和可靠性?
  • 京东【自主售后】物流信息获取_影刀RPA源码解读
  • 如何写出更清晰易读的布尔逻辑判断?
  • 企业智脑正在构建企业第二大脑,四大场景引擎驱动数字化转型新范式
  • 异步同步,阻塞非阻塞,reactor/proactor
  • android 升级AGP版本后部分so文件变大
  • 记录JetPack组件用法及原理
  • c语言中堆和栈的区别
  • Mybatis学习笔记(二)
  • Python学习-----3.基础语法(2)
  • Linux面试题及详细答案 120道(1-15)-- 基础概念
  • Linux下的软件编程——framebuffer(文件操作的应用)
  • 初识CNN01——认识CNN
  • 计算机组成原理20250814
  • 网络通信---Axios
  • 在线进销存系统高效管理网站源码搭建可二开
  • 考研408《计算机组成原理》复习笔记,第三章(7)——虚拟存储器
  • 考公VS考研,拼哪个性价比高?
  • 什么是域名抢注?域名抢注常见问题汇总
  • 图书商城小程序怎么做?实体书店如何在微信小程序上卖书?
  • 使用vllm运行智谱GLM-4.5V视觉语言模型推理服务
  • 如何使用 AI 大语言模型解决生活中的实际小事情?
  • 数据结构——线性表(链表,力扣简单篇)
  • vscode的wsl环境,ESP32驱动0.96寸oled屏幕
  • 失败存储:查看未成功的内容
  • vscode使用keil5出现变量跳转不了
  • 如何让手机访问本地服务器部署的网页?无公网IP内网主机应用,自定义外网地址,给任意网设备访问