自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 收藏
  • 关注

原创 伪类,伪元素

CSS 中的伪类和伪元素是额外的选择器,用于选择页面中的元素的特殊状态或者生成额外的内容。伪类和伪元素可以结合使用,为页面元素提供更多的样式控制选择器,使得样式更加灵活和强大。

2023-03-06 02:11:20 164

原创 css水平垂直居中方法

子元素定宽高和不定宽高两种形式。

2023-03-06 02:10:14 170

原创 js中基本数据类型null和undefind区别

需要注意的是,在比较变量是否为undefined时,最好使用typeof运算符,因为在某些情况下,变量可能会被覆盖为undefined值。表示一个未定义的值,用于表示一个变量没有被初始化,或者一个属性不存在于对象中。需要注意的是,在JavaScript中,typeof null返回"object",这是一个历史遗留问题。是可以互换使用的,但是需要注意它们的区别,以免造成代码错误。都表示“没有值”,但它们的语义和用法有些不同。在代码中,当需要表示变量没有值时,应该优先使用。在 JavaScript 中,

2023-03-06 01:30:05 251

原创 手写call,apply,bind[手写代码]

在JavaScript中,callapply和bind都是用来改变函数执行上下文的方法,它们都能够显式地指定函数运行时的this值。

2023-03-06 01:30:04 108

原创 script中的defer和async

告诉浏览器异步加载该脚本,不阻塞页面的加载。这意味着,浏览器可以在加载页面的同时加载该脚本,不需要等待页面完全加载完成。这种情况下,脚本的执行顺序不能保证,因为它们是在不同的线程中加载的。:告诉浏览器在页面完全加载完成之后再加载该脚本。这意味着,当页面完成渲染时,脚本才会被加载。它保证脚本会在 DOM 加载完成之后执行,不会影响页面的其他部分。总的来说,在确保不阻塞页面加载的前提下,如果希望保证脚本的执行顺序,可以使用。是两种不同的方式,用来告诉浏览器如何加载脚本。如果不关心脚本的执行顺序,可以使用。

2023-03-06 01:19:31 118

原创 js 防抖和节流[手写代码]

​ 防抖和节流是前端开发中常用的优化方法,用于控制函数的执行频率。

2023-03-06 01:18:59 104

原创 js compose函数组合[手写代码]

compose函数是一种函数组合的方法,允许把多个函数组合在一起,并从右到左依次执行。这种方法的好处是可以从右到左组合函数,使代码更加简洁,并且可以使多个函数共享一个参数。

2023-03-06 01:18:11 83

原创 v-show/v-if 使用场景和区别

v-if由false变为true的时候,会触发被卸载组件的beforeCreate、create、beforeMount、mounted钩子,由true变为false的时候会触发组件的beforeDestory、destoryed方法;v-if的切换开销大,如果初始条件是false,则不用初次渲染,不频繁切换甚至不会切换时,推荐使用v-if。v-show的切换开销小,但是会有初次渲染的开销,适用于频繁切换的场景。):v-show用在template上无效的,v-if有效。能够提高应用的性能。

2023-03-05 21:36:55 330

原创 v-for/v-if使用时的注意点

例如,如果您在循环中使用v-if来控制显示某些元素,则每次渲染时都会重新计算该条件。与此相反,如果您使用计算属性进行过滤,则只有当数据改变时才会重新计算。当在循环中出现条件时,使用计算属性进行一次过滤是一种有效的方法来缓解问题。这是因为计算属性是在数据改变时自动更新的,而不是在每次渲染时都重新计算。因为v-for的优先级比v-if高,如果放在一起用,也是先执行循环渲染一遍,之后在去v-if判断。这样的写法会导致每个 li 元素都需要进行判断和循环,可能会增加处理量,降低性能。这样就存在性能问题。

2023-03-05 21:24:04 251

原创 对VUE的理解

但在编写的时候,还是会分开写(页面片段),然后在交互的时候由路由程序动态载入,单页面的页面跳转,仅刷新局部资源。调试方便,在出现问题的时候,可以用排除法直接移除组件,或者根据报错的组件快速定位问题,每个组件之间低耦合,职责单一,所以逻辑排查会比分析整个系统要简单。降低整个系统的耦合度,在保持接口不变的情况下,我们可以替换不同的组件快速完成需求,例如输入框,可以替换为日历、时间、范围等组件作具体的实现。提高可维护性,由于每个组件的职责单一,并且组件在系统中是被复用的,所以对代码进行优化可获得系统的整体升级。

2023-03-05 21:20:11 219

原创 语义化标签与seo

CSS3 中的盒模型有以下两种:标准盒模型、IE(替代)盒模型。CSS 盒模型是指在网页布局中,每个 HTML 元素都被表示为一个矩形的盒子。这个盒子包含了元素的内容、内边距、边框和外边距。paddingbordermarginCSS 盒模型允许开发者更好地控制网页布局,使元素在页面上具有更加准确的位置和尺寸。

2023-03-05 21:15:24 105

原创 浏览器的渲染过程

对于每个可见的节点,找到CSSOM树中对应的规则,并应用它们。根据每个可见节点以及其对应的样式,组合生成渲染树。从DOM树的根节点开始遍历每个可见节点。

2023-03-05 21:14:36 36

原创 css盒模型

CSS3 中的盒模型有以下两种:标准盒模型、IE(替代)盒模型。CSS 盒模型是指在网页布局中,每个 HTML 元素都被表示为一个矩形的盒子。这个盒子包含了元素的内容、内边距、边框和外边距。paddingbordermarginCSS 盒模型允许开发者更好地控制网页布局,使元素在页面上具有更加准确的位置和尺寸。

2023-03-05 21:09:16 39

原创 js 防抖和节流[手写代码]

​ 防抖和节流是前端开发中常用的优化方法,用于控制函数的执行频率。

2023-03-01 13:08:27 635

原创 js compose函数组合[手写代码]

compose函数是一种函数组合的方法,允许把多个函数组合在一起,并从右到左依次执行。这种方法的好处是可以从右到左组合函数,使代码更加简洁,并且可以使多个函数共享一个参数。

2023-03-01 13:05:07 464

原创 jsArray 方法辨析[手写代码]

该方法接受一个回调函数作为参数,这个回调函数会在遍历过程中执行,并且它接收三个参数:当前元素,当前索引和原数组。方法也是遍历数组的每一个元素,对每个元素执行指定的操作,并将操作后的结果存储在一个新数组中。该方法接受一个回调函数作为参数,这个回调函数会在遍历过程中执行,并且它接收三个参数:当前元素,当前索引和原数组。JavaScript中的reduce()是一种数组方法,它允许对数组的每个元素执行一个指定的函数,并将结果缩减为单个值。上面的代码将原数组中的每个元素乘以2,并将结果存储在一个新数组中。

2023-03-01 13:04:12 437

原创 js拷贝(浅拷贝,深拷贝)

我们将异步函数声明为 async 函数,这样就可以在该函数内使用 await 关键字。在上面的代码中,我们使用了 fetch 函数发送了一个请求,并使用 await 表达式等待请求完成。然后,我们使用了 response.json() 方法将请求的结果转换为 JSON 格式,并使用 await 表达式等待转换完成。在 JavaScript 引擎内部,Async/Await 实际上是通过生成 Generator 函数并使用该函数来处理异步操作的。异步函数是通过在函数前面添加 async 关键字来声明的。

2023-02-28 14:48:08 1170

原创 java异步方法 Async/Await

我们将异步函数声明为 async 函数,这样就可以在该函数内使用 await 关键字。在上面的代码中,我们使用了 fetch 函数发送了一个请求,并使用 await 表达式等待请求完成。然后,我们使用了 response.json() 方法将请求的结果转换为 JSON 格式,并使用 await 表达式等待转换完成。在 JavaScript 引擎内部,Async/Await 实际上是通过生成 Generator 函数并使用该函数来处理异步操作的。异步函数是通过在函数前面添加 async 关键字来声明的。

2023-02-27 02:23:14 1888 1

原创 JavaScript 判断变量的类型的方法

方法是一个很强大的方法,它可以识别出所有的数据类型,并且返回类型的字符串标识,如 “[object Number]”、“[object String]”、“[object Array]” 等。运算符是一个比较特殊的方法,它可以判断一个变量是否是某个构造函数的实例,因此能够很好地识别出数组、日期、正则表达式等类型。在实际开发中,我们可以根据需要选择不同的方法来判断变量的类型,如果需要识别所有的数据类型,则可以使用。以上是 JavaScript 中判断变量类型的几种方法,使用不同的场景需要使用不同的方法。

2023-02-27 01:57:31 1175

原创 Vuex属性与使用方法

在这个示例中,我们创建了一个名为message的状态属性,并定义了一个名为setMessage的mutation来更新该属性的值。在发送组件中,我们将message的值绑定到一个文本输入框,并创建一个名为setMessage的方法,该方法将使用dispatch方法触发Vuex action来更新状态值。它通过一个单一的状态树(store)管理整个应用程序的状态,使得状态的管理变得更加简单和一致。在接收组件中,我们使用计算属性来获取Vuex中的值,以便我们可以在模板中显示它。

2023-02-27 01:46:59 560

原创 Margin折叠与BFC

​ 具体来说,如果兄弟元素A的margin-bottom与兄弟元素B的margin-top相遇,则它们的margin值将合并为一个较大的margin值。例如,如果兄弟元素A的margin-bottom为30px,而兄弟元素B的margin-top为20px,则合并后的margin值将为30px。​ BFC(Block Formatting Context)是 CSS 中的一种渲染模式,它是一个独立的渲染区域,具有一定的隔离性,可以让处于 BFC 内部的元素避免影响到外部元素的布局和样式。

2023-02-27 01:18:52 663

原创 前端需要理解的跨域问题

JSONP的实现原理是利用script标签的跨域能力,在服务端将数据包装成一个函数的调用,然后通过script标签的src属性发送到客户端,客户端接收到响应后会自动执行该函数。需要注意的是,JSONP只能进行GET请求,并且存在安全隐患,因为服务端返回的数据会直接执行在前端页面中,如果返回的数据被篡改,可能会导致安全问题。WebSocket是一种全双工通信协议,它建立在TCP协议之上,通过一个HTTP请求进行握手,建立连接后,服务器端和客户端可以在任何时候相互发送数据,从而实现跨域通信。

2023-02-26 01:10:29 637

原创 Vue组件间通信

Props和Events(主要用于父子组件间通讯),$emit 和 $on,$refs,Vuex方式,Bus(事件总线)方式,Provide 和 Inject

2023-02-25 19:24:27 751

原创 [精讲]promise对象常用方法,与手写模拟

这意味着,当一个宏任务中包含了多个微任务时,这些微任务会在该宏任务执行完成后被依次执行,而不是在该宏任务中立即执行。在 constructor 构造函数中,定义了 Promise 的三种状态:PENDING(进行中)、FULFILLED(已成功)、REJECTED(已失败),以及 Promise 对象的属性,包括状态、成功结果、失败原因、保存成功回调函数的数组和保存失败回调函数的数组。当一个宏任务执行完成后,才会去检查是否存在微任务,如果存在,则会依次执行微任务队列中的任务,直到微任务队列为空。

2023-02-25 04:40:21 1108

原创 Vue数据响应式原理:Observe、Dep、Watcher

Vue数据响应式是指当Vue实例的数据发生变化时,页面中相应的内容也会随之更新。Vue中数据响应式的实现依赖于Observe、Dep和Watcher这三个核心概念。其中,Observe负责将普通对象转换成响应式对象,Dep管理Watcher并通知更新,Watcher用于监听数据变化并触发相应的回调函数。Observe通过使用Object.defineProperty()方法,将对象的属性转换成getter和setter,从而实现数据的响应式。Dep中存放着所有观察该响应式对象的Watcher,当数据发生变化

2023-02-25 03:08:51 2793

原创 [精讲]JavaScript中的闭包:优点、原理和应用(柯里化,Vue数据响应式原理:Observe、Dep、Watcher三剑客)[手写代码]

闭包简介闭包形成的原理闭包解决的问题闭包带来的问题闭包的应用场景包括:变量背包,函数记忆柯里化构造函数中定义特权方法Vue中数据响应式Observe原理

2023-02-25 02:10:30 1449

原创 [精讲]cookie sessionStorage localStorage 区别

这是一篇介绍在浏览器端存储数据的方式的文章,主要讲解了 cookie、sessionStorage 和 localStorage 之间的区别,包括存储大小、生命周期、存储方式和同源原则等。此外,还给出了这些存储方式在实际应用中的使用场景和示例,如用户身份验证、购物车功能、记录用户偏好、保存表单数据、记录用户登录状态、缓存静态资源等。对于开发人员来说,理解和掌握这些存储方式的差异和使用场景,有助于提高应用程序的性能和用户体验。l

2023-02-24 23:38:47 1219

原创 js中proexy代理

使用 Proxy 可以拦截对象上的操作,例如读取属性、写入属性、函数调用等,从而允许我们修改对象的默认行为。方法中,我们首先使用参数列表生成一个缓存键,并检查是否存在缓存结果。为了实现这个功能,我们使用了一个 Map 对象来存储缓存结果。下面是一个简单的示例,使用 Proxy 来实现一个简单的缓存功能。方法中,我们同样打印了一条日志,并将属性的值赋值给原始对象。时,它会直接返回缓存结果,避免了重复执行长时间运行的代码。方法中,我们打印了一条日志,并返回原始对象的属性值。在上面的代码中,我们使用了。

2023-02-24 22:17:10 1393

原创 js算法常用数据结构

在JavaScript中,字符串是不可变的,即不能改变字符串中的字符。Map 对象在 ES6 中被引入,使用起来非常方便,相比于 JavaScript 中的 Object ,它的功能更为强大。如果你需要使用键值对存储数据,并且需要根据键快速查找对应的值,那么 Map 对象是非常好的选择。需要注意的是,JavaScript 中的数组是动态的,即数组的长度可以随时改变。Map 中的键是有序的,而添加到对象中的键则不是。对象的键必须是字符串或符号,而 Map 键可以是任何值,包括基本类型、对象或函数。

2023-02-24 22:10:55 1359

原创 java算法编程基础知识

数组Java 中数组是一种存储固定数量元素的数据结构,它具有以下特点:数组长度是固定的,一旦创建,长度就不能再改变。数组可以存储任意类型的数据,包括基本类型和对象类型。数组中的元素是有序的,可以通过下标访问。Java 中提供了一系列方法来处理数组,包括以下常用方法:1、创建数组Java 中使用关键字new来创建数组,语法如下:数据类型[] 数组名=new数据类型[数组长度];

2023-02-23 23:29:25 1694

原创 HTML焦点问题

题目:以下哪些HTML元素可以获得焦点?A:我可以B:我可以C: 我可以 D:

2023-02-23 23:16:57 2144

原创 算法图类型刷题

leetcode图类算法

2023-02-23 17:05:03 1885

原创 js中this指向问题

在 JavaScript 中,this关键字代表当前函数执行时的上下文对象,也就是当前代码执行的环境。this的指向是动态的,即它的值取决于函数的调用方式和上下文。它在标准函数和箭头函数中有着不同的行为。以下是几种情况下this。

2023-02-23 14:19:50 1842

原创 局域网,广域网,城域网

广域网的覆盖面积较大,需要经过多个地域或政治边界的管辖,因此需要使用统一的协议,以保证各地的设备能够互相通信。与局域网相比,城域网的覆盖范围更大,连接的终端数量也更多,因此需要更高的传输速率和更强的数据处理能力。以太网(Ethernet)是一种局域网(LAN)技术,是目前应用最广泛的局域网技术之一,它使用电缆或光纤连接网络设备,并使用一组标准来定义网络的物理和数据链路层。是指覆盖广泛的地理区域内,通过不同的传输介质,使用统一的通信协议和管理方式,将相互独立的局域网或计算机连接起来形成的网络。

2023-02-22 18:33:42 3749

原创 运用python实现了关键词提取,基于词向量的抽取式摘要,文本分类和语料集命名

抽取式摘要是自动文摘的一种形式是自然语言处理的重要步骤。抽取式摘要的关键问题是如何有效的从文章当中抽取出重要性高的若干句子。现有的抽取式文摘主要通过人们通过统计简单直观的文本特征,比如词频、句子的位置、线索词和标题等从文档中识别重要的句子组成摘要,或者基于外部语义资源对文章句子进行语义理解。我采用的方法式通过统计简单直观的文本特征来获取摘要。我选择的文本特征是用上文所提到的相似性计算方法计算所得全文每一句话与全文词向量的相似度。经过排序选择相似度最高的5句话作为全文摘要。juzi={}k=0。

2023-02-22 02:34:25 4824 1

原创 Wi-Fi技术及其发展

1) Wi-Fi的基本概念2) Wi-Fi技术与原理简介3) Wi-Fi技术发展历程及其现状4) Wi-Fi技术的应用及意义

2023-02-22 02:12:47 3869

原创 基于不平衡数据集的中风分析预测

摘要:近些年来随着社会人口老龄化及城镇化步伐进一步加快,城市居民不太健康的生活形式盛行,心脑血管病症的凶险要素明显增多,我国中风的患病率具有明显增长。然而中风的诱使因素多,临床诊断复杂,且尚未有有效的治疗手段。是故现今对于中风主要还是采取预防和尽早治疗等手段来控制中风问题。本文的研究成果可以用于排查易感人群,了解中风高风险因素等领域。本文聚焦于患者数据集中数据不平衡问题,运用四种改进方法,改变数据集的分布,对样本权值修改,采用单类学习,使用集成学习等方法,分析比较建立在医学诊断测试统计指标中灵敏度

2023-02-22 01:50:35 4902 4

原创 基于lunence倒排索引技术实现大规模检索的优化(二)Luncene 技术原理讲解

Lucene 是一种用 Java 编写的高性能全文搜索引擎库。它提供了丰富的搜索和索引功能,支持多种语言,包括中文,常用于构建企业级搜索系统。Lucene 的基本特点包括:支持多种语言:Lucene 支持多种语言的文本索引和搜索,包括英语、中文、日语等,可以方便地构建多语言搜索系统。高性能:Lucene 的搜索速度非常快,可以处理大规模的文本数据。它采用了倒排索引的方法,将索引数据存储在内存中,从而提高搜索效率。

2023-02-22 01:08:59 3065

原创 基于luncene倒排索引实现大规模数据集检索优化(一)基础知识篇

原理探索(基础知识)检索在一组记录集合中找到关键码值等于给定值的某个记录,或者找到关键码值符合特定条件的某些记录的过程 (key,value)检索效率非常重要尤其对于大数据量需要对数据精选特殊的存储处理提高检索效率的方法1)预排序排序算法本身比较费时只是预处理(在检索之前已经完成)2)建立索引检索式重复利用辅助索引信息,以空间换时间牺牲一定的空间从而提高检索效率3)散列技术把数据组织到一个表中更具关键码的值确定表中记录的位置缺点1: 不适合进行范围查询。

2023-02-22 01:06:20 3052

原创 HTML标签焦点问题

题目:以下哪些HTML元素可以获得焦点?A:我可以B:我可以C: 我可以 D:

2023-02-22 01:05:55 3302

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除