学习前端面试知识
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…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...
虚拟电厂发展三大趋势:市场化、技术主导、车网互联
市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦࿰…...
Python Einops库:深度学习中的张量操作革命
Einops(爱因斯坦操作库)就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库,用类似自然语言的表达式替代了晦涩的API调用,彻底改变了深度学习工程…...
抽象类和接口(全)
一、抽象类 1.概念:如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象,这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法,包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中,⼀个类如果被 abs…...
ubuntu22.04 安装docker 和docker-compose
首先你要确保没有docker环境或者使用命令删掉docker sudo apt-get remove docker docker-engine docker.io containerd runc安装docker 更新软件环境 sudo apt update sudo apt upgrade下载docker依赖和GPG 密钥 # 依赖 apt-get install ca-certificates curl gnupg lsb-rel…...
智能职业发展系统:AI驱动的职业规划平台技术解析
智能职业发展系统:AI驱动的职业规划平台技术解析 引言:数字时代的职业革命 在当今瞬息万变的就业市场中,传统的职业规划方法已无法满足个人和企业的需求。据统计,全球每年有超过2亿人面临职业转型困境,而企业也因此遭…...
