学习前端面试知识
2024-8-9 打卡第十天 学习视频链接
js延迟加载
- 延迟加载:等页面加载完成后再进行加载
- 提高页面加载速度
- defer属性,同步加载,让脚本与文档同步解析,顺序执行,当文档解析完成再执行defer,执行完再执行脚本,不会阻塞页面渲染,按顺序执行。
- async属性,会使脚本异步加载,不会阻塞页面解析过程,加载完会立马执行js脚本,这个时候如果文档还没有解析完成同样会阻塞,多个async执行顺序不可预测。
- 动态创建dom,对文档的加载事件进行监听,当文档加载完后再动态的创建script标签来引入js脚本
- setTimeout 延迟加载js脚本
- js最后加载
异步编程实现方式
- 回调函数,回调地狱,代码耦合度高,不利于代码维护,就是在一层理再调用一个接口,接口里再调用接口就是回调地狱。
- Promise,链式调用,解决了地狱回调,可能造成语意不够明确
- generator,同步顺序书写函数,控制权转移回来,需要有自动执行函数的机制
- async,其实是Promise和generator的语法糖,自带一个执行器,如果返回的是一个Promise对象,会等待返回变成resolve,因此可以将异步转为同步书写,并且和这个函数可以自动执行
简单说说对pnpm的理解
- 本质还是一个包管理器,跟npm和yarn相似,更加完善。
- 优势:
- 包安装速度很快
- 磁盘空间利用高效
怎么理解Promise
- 一个异步编程的解决方案,一个对象,可以获取异步操作的信息,出现改善了异步编程的困境,避免了回调地狱,降低了代码的耦合性。接受一个函数作为参数,返回Promise实例,如果传入一个值会导致值穿透,就是明明传入了数据,但是输出的还是上一次的内容。
- 一个容器,包含某个未来才会结束的事件,通常是一个异步操作的结果
- 三个状态:pending(进行中),resolved(已完成),rejected(已拒绝),状态不可逆
- 两个过程:
- pending-fulifilled就是Resolve 已完成
- pending-rejected就是Rejected 已拒绝
- 特点:
- 对象状态不受外界影响
- 只有异步操作的结果可以决定状态,其他操作无法改变。Promise是承诺的意思,可以理解一旦状态确定就不能改变
- 事件已经发生,在添加回调函数还是能打印出结果,但是普通函数事件发生后再监听就监听不到了
- 缺点:
- 无法取消,一旦构造Promise函数会立即执行,不设置回调函数得不到抛出的错误,无法确定是什么状态
Vuex中的核心重要属性
- state
- 单一状态树,页面数据从该对象中获取。
- 单一状态树包含了全部的应用层级状态,作为唯一的数据源,每个应用仅包含一个store实例
- 单一状态树能直接定位特定的状态片段,调试过程中获得当前应用状态的快照
- 不可直接对state进行更改,需要通过Mutation
- Vuex存储状态是响应式的,从store实例中读取状态最简单的方法就是在计算属性中返回某个状态
- Getter
- 可以认为是store的计算属性,对state加工衍生出来的数据
- 就像computed计算属性一样,getter会根据它依赖的值而缓存,只有当他的依赖值发生改变才会被重新计算
- 可以在多个组件中共享getter函数
- Mutation
- Vuex中store数据改变的唯一方法就是Mutation
- 通俗理解,mutation里面装着改变数据的方法集合,处理数据逻辑的方法全放在mutation里,使数据和视图分离
- action
- 类似mutation,不同的是action提交的是mutation,通过mutating改变state,而不是直接操作
- action可以包含任何异步操作
- module
- 由于使用单一树,所有对象会集中到一个较大的对象中,当应用非常复杂的时候,store对象就可能变得异常臃肿
- 为了解决上述问题,vuex允许将store分割成module,每个模块拥有自己的state,getter,mutation,action,甚至是嵌套子模型
什么是跨域,怎么解决跨域?
- 浏览器从一个域名的网页去请求另一个域名的资源时,域名,端口,协议任一不同,都是跨域
- CORS(跨资源共享):W3C规范,允许在服务器设置特定头频字段来允许跨域请求
相关文章:
学习前端面试知识
2024-8-9 打卡第十天 学习视频链接 js延迟加载 延迟加载:等页面加载完成后再进行加载提高页面加载速度defer属性,同步加载,让脚本与文档同步解析,顺序执行,当文档解析完成再执行defer,执行完再执行脚本&…...
Leetcode JAVA刷刷站(9)回文数
一、题目概述 二、思路方向 在Java中,判断一个整数是否为回文数,可以通过将该整数转换为字符串,然后比较字符串与其反转后的字符串是否相同来实现。但这种方法在整数非常大时可能不太高效,因为它依赖于字符串操作。一个更高效的方…...
数据结构算法
⩕ 单调栈 1、概念 对于一个栈,维持其单调性,有两种情况,单调递增栈:由栈底到栈顶单调递增 单调递减栈:由栈底到栈顶单调递减 2、核心模板( 单调递增栈 ) stack<int> stk; void …...
WordPress个性化站点
这个信息爆炸的时代,拥有一个能够迅速传达信息、展示个性、并能够与世界互动的在线平台,已成为企业和个人的基本需求。WordPress以其无与伦比的易用性和强大的扩展性,成为了构建此类平台的首选工具。而LNMP是由Linux、Nginx、MySQL和PHP组成的…...
GESP C++ 2024年03月一级真题卷
一、单选题(每题 2 分,共 30 分) 第 1 题 C表达式 (3 - 2) * 3 5 的值是( )。 A. -13 B. 8 C. 2 D. 0 答案:B 解析:略 第 2 题 C 语句 cout << "5%2" << 5 % 2 执行后的输出是…...
Linux驱动开发基础(Hello驱动)
所学内容来自百问网 目录 1. 文件在内核中的表示 2. 打开字符设备节点时,内核中也有对应的struct file 3. 编写驱动程序步骤 4. 相关知识点 4.1 涉及函数解析 4.2 module_init/module_exit的实现 4.3 register_chrdev的内部实现 4.4 class_destroy/device_…...
centos7安装 ES集群 elasticsearch
这里写自定义目录标题 编写启动脚本 elasticsearch.sh启动可能报错:elasticsearch 7.10启动报错 bootstrap checks failed解决方法问题原因:注意 退出xshell,重新登录: 上面两个配置项改完后,ES启动用户(es 或root) **…...
互联网应用主流框架整合【Redis数据结构及常用命令】
在大部分情况下我们使用Redis只是执行一些简单的命令操作,通常无需区分是否是在一个连接池里的同一个链接去执行,如果需要执行多条命令,需要保证命令在同一个链接里完成,则采用SessionCallback接口操作即可 Redis数据结构-字符串…...
GORM 自动迁移与命名策略
在现代软件开发中,数据库结构的维护和迁移是常见的挑战之一。GORM,作为 Go 语言中强大的 ORM 库,提供了自动迁移功能,帮助开发者轻松地管理数据库表结构的变更。此外,GORM 还允许开发者通过命名策略(Naming…...
python社会科学问题研究的计算实验
实验十五:社会科学问题研究的计算实践 1.实验目标及要求 (1)掌握网络视角 (2)掌握社会网络基础内容 (3)掌握友谊悖论 2.实验主要内容 随机生成一次符合社会网络特征的网络,通过计…...
Element Plus 发布 2.8.0
功能特性 组件更新 [color-picker] alpha-slider a11y (#14245 by tolking)添加 mention 组件 (#17586 by Fuphoenixes)[tree-v2] 添加 scrollTo 方法 (#14050 by kaine0923)[drawer] 添加 append-to 属性 (#17761 by tolking)[table] tree children 添加严格检查 (#13519 by t…...
解释区块链技术的应用场景和优势-水文
区块链技术是一种去中心化的分布式账本技术,其应用场景和优势如下: 金融领域:区块链可以用于加密货币交易,提供安全的、去中心化的支付系统。它也可以用于股票、债券和其他金融交易的记录和结算,提高交易的透明度和效率…...
等保测评基础知识(一)
1、时间类: 网络安全法: 2017年6月1日等保2.0实施时间: 2019年12月1日密码法: 2020年1月1日个人信息保护法: 2021年11月1日,数据安全法实施时间: 2021年9月1日关键信息基础…...
股指期货套期保值中的展期管理有哪些?
在复杂的金融市场环境中,展期作为一种重要的风险管理工具,被广泛应用于期货交易中,特别是当投资者需要对长期资产进行套期保值时。展期的核心思想在于,通过连续替换高流动性的近月期货合约来替代流动性较差的远月合约,…...
如何通过参考文献找到原文
当只有参考文献想要获取原文时,通常会用到以下方法: 举例参考文献1. 杨忠华,周勃,宁宝宽,等.面向新能源产业的专业研究生研创能力培养实践探索——基于“政产学研用”融合驱动[J].高教学刊,2024,10(23):19-22.DOI:10.19980/j.CN23-1593/G4.2024.23.004…...
春秋云境 | SQL | CVE-2022-4230
目录 靶标介绍 开启靶场 wpscan漏洞介绍 查询数据库表名 查询表中字段名 查询字段下数据 靶标介绍 WP Statistics WordPress 插件13.2.9之前的版本不会转义参数,这可能允许经过身份验证的用户执行 SQL 注入攻击。默认情况下,具有管理选项功能 (ad…...
3.串口(UART)
串口理论部分可看51部分:链接 数据帧 帧头(2字节,例如AA、BB) 数据长度(2字节) 数据 CRC16校验(2字节) 帧尾(2字节) 代码编写 串口一发送命令控制LED灯(PB5、PE5) LED灯、串口、…...
macOS Sonoma 14.6.1 (23G93) Boot ISO 原版可引导镜像下载
macOS Sonoma 14.6.1 (23G93) Boot ISO 原版可引导镜像下载 2024 年 8 月 8 日凌晨,macOS Sonoma 14.6.1 发布,本更新包含了重要的错误修复,并解决了导致高级数据保护无法启用或停用的问题。同时带来了 macOS Ventura 13.6.9 安全更新。 本…...
论企业私域流量运营中的玩法创新与开源 AI 智能名片 O2O 商城小程序的应用
摘要:本文旨在探讨企业在构建私域流量池时的多种玩法策略,并着重分析如何针对不同类型客户制定个性化方案。同时,引入开源 AI 智能名片 O2O 商城小程序这一工具,阐述其在私域流量运营中的重要作用和价值,为企业提升运营…...
nginx.conf alias 静态资源 别名 nginx配置
Linux系统Bug 报权限不足错误 user root; 解决server_name太长时报错的问题 #解决server_name太长时报错的问题server_names_hash_bucket_size 64; 解决文件上传默认限制1M的问题 #解决文件上传默认限制1M的问题client_max_body_size 100m; 监听所有端口 server_name _; a…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...
Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...
elementUI点击浏览table所选行数据查看文档
项目场景: table按照要求特定的数据变成按钮可以点击 解决方案: <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...
【C++】纯虚函数类外可以写实现吗?
1. 答案 先说答案,可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...
