自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小卡酷谋的博客

分享知识

  • 博客(101)
  • 收藏
  • 关注

原创 Vue3学习体验(一)

vue-cli。

2024-07-14 22:40:59 1118 1

原创 npm模块安装机制

【代码】npm模块安装机制。

2024-05-15 15:35:23 227

原创 实现简易版Vuex

从实现一个简单的Vuex类来了解Vuex的工作原理。

2024-05-11 19:15:56 359

原创 域名和DNS

DNS(Domain Name System)服务器是一种用于将域名转换为相应 IP 地址的网络服务。在互联网上,每个设备都有一个唯一的 IP 地址,它类似于设备的网络地址。然而,人们更容易记住和使用名称,比如网站的域名,而不是一长串数字。DNS 服务器的作用就是提供一个将域名映射到相应 IP 地址的服务。当你在浏览器中输入一个网址时,比如"www.example.com",你的计算机首先会查询 DNS 服务器,请求它提供与该域名相对应的 IP 地址。

2024-05-04 11:30:00 367

原创 Vue--关于v-model指令

即可以作用于表单元素,又可作用于自定义组件,无论是哪一种情况,它都是一个语法糖,最终会生成一个属性和一个事件。会根据作用的表单元素类型而生成合适的属性和事件。例如,作用于普通文本框的时候,它会生成。事件,而当其作用于单选框或多选框时,它会生成。,默认情况下,它会生成一个。也可作用于自定义组件,开发者可以通过组件的。

2024-04-28 18:26:28 227 3

原创 XSS攻击

XSS(Cross Site Scripting,跨站脚本攻击),是指攻击者利用站点的漏洞,在表单提交时,在表单内容中加入一些恶意脚本,当其他正常用户浏览页面,而页面中刚好出现攻击者的恶意脚本时,脚本被执行,从而使得页面遭到破坏,或者用户信息被窃取。

2024-04-28 10:50:31 131

原创 跨域解决方案-JSONP

在出现之前,开发者们用一种奇妙的办法来实现跨域–JSONP。要实现JSONP,需要浏览器和服务器来一个“完美”配合。但是,JSONP有着明显的缺点,即其只能支持GET请求。

2024-04-27 14:33:42 379

原创 浏览器中的同源策略

同源策略是指,若页面的源和页面运行过程中加载的源不一致时,出于安全考虑,浏览器会对跨域的资源访问进行一些限制。

2024-04-27 10:11:25 311

原创 网络中常用的请求方法

从 http 协议的角度来说,GET 和 POST 它们都只是请求行中的第一个单词,除了语义不同,其实没有本质的区别。之所以在实际开发中会产生各种区别,主要是因为浏览器的默认行为造成的。

2024-04-26 17:05:11 409

原创 async、await

async关键字用于修饰函数,被它修饰的函数,一定返回Promise。有了Promise,异步任务就有了一种统一的处理方式。有了统一的处理方式,ES官方就可以对其进一步优化。如果需要针对失败的任务进行处理,可以使用。关键字表示等待某个Promise完成,,用于更加优雅的表达Promise。

2024-04-25 10:07:16 174

原创 Promise的静态方法

Promise的静态方法。

2024-04-25 10:03:44 286

原创 Promise的链式调用

由于链式任务的存在,异步代码拥有了更强的表达力。then方法必定会返回一个新的Promise。后续处理也是一个任务。

2024-04-25 09:48:08 303

原创 Promise基础

Promise是一套专门处理异步场景的规范,它能有效的避免回调地狱的产生,使异步代码更加清晰、简洁、统一。这套规范最早诞生于前端社区,规范名称为该规范出现后,立即得到了很多开发者的响应Promise A+ 规定:所有的异步场景,都可以看作是一个异步任务,每个异步任务,在JS中应该表现为一个,该对象称之为,也叫做任务对象。每个任务对象,都应该有两个阶段、三个状态。

2024-04-25 09:32:38 364

原创 JavaScript中操作DOM相关的尺寸和位置

在JavaScript中操作DOM节点使其运动的时候,常常会涉及到各种宽高以及位置坐标等概念。本章,我们就一起来总结一下使用JavaScript操作DOM时,尺寸和宽高相关的属性。

2024-04-24 18:02:22 1086

原创 javaScript中的函数防抖和节流

JavaScript中的函数大多数情况下都是由用户主动调用触发的,除非是函数本身的实现不合理,否则一般不会遇到跟性能相关的问题。但是在一些少数情况下,函数的触发不是由用户直接控制的。在这些场景下,函数有可能被非常频繁地调用,而造成大的性能问题。解决性能问题的处理办法就有和。下面是函数被频繁调用的常见的几个场景:mousemovemousemoveDOMwindowresizeDOMDOMkeyupscroll对于这些情况的解决方案就是函数防抖(debounce)或函数节流(throttle)

2024-04-24 15:18:58 911 5

原创 javaScript中的严格模式

严格模式是从ES5开始新增的一种方式,是采用具有限制性JavaScript变体的一种方式,从而使代码隐式地脱离“马虎模式/稀松模式/懒散模式“(sloppy)模式。JavascriptJavascript“严格模式”体现了Javascript更合理、更安全、更严谨的发展方向,支持严格模式的浏览器有:。在“严格模式下”,同样的代码,可能会有不一样的运行结果。一些在“正常模式”下可以运行的语句,在“严格模式”下将不能运行。

2024-04-24 14:46:03 775

原创 javaScript中阻止事件默认行为的那些事儿~

所谓默认行为,一般是指HTML元素所自带的行为。例如点击一个a元素表示的是跳转:

2024-04-24 10:58:46 895

原创 javaScript中的闭包

闭包是一个封闭的空间,里面存储了在其他地方会引用到的该作用域内的变量等,在JavaScript中是通过作用域链来实现的闭包。只要在函数中使用了外部的数据,就创建了闭包,这种情况下所创建的闭包,我们在编码时是不需要去关心的。我们还可以通过一些手段手动创建闭包,从而让外部环境访问到函数内部的局部变量,让局部变量持续保存下来,不随着它的上下文环境一起销毁。

2024-04-24 10:44:41 743 4

原创 javaScript中的this 指向

this关键字是一个非常重要的语法点。this可以用在构造函数之中,表示实例对象。除此之外,this还可以用在别的场合。this。关于this的指向,有一种广为流传的说法就是“谁调用它,this就指向谁”。这样的说法没有太大的问题,但是并不全面。总结起来,this的指向规律有如下几条:在函数体中,非显式或隐式地简单调用函数时,在严格模式下,函数内的this会被绑定到undefined上,在非严格模式下则会被绑定到全局对象上。

2024-04-23 15:27:34 624 1

原创 javaScript中的作用域和作用域链

作用域是在运行时代码中的某些特定部分中变量、对象和函数的可访问性。换句话说,作用域决定了代码区块中变量和其他资源的可见性。var inVariable = "内层变量2";outFun2();从上面的例子可以体会到作用域的概念,变量inVariable在全局作用域没有声明,所以在全局作用域下取值会报错。可以这样理解:作用域就是一个独立的地盘,让变量不会外泄、暴露出去。也就是说作用域最大的用处就是隔离变量,不同作用域下同名变量不会有冲突。

2024-04-23 15:08:52 656

原创 javaScript中的原型和原型链

*javaScript*中每个对象都有自己的原型对象,而原型对象本身,也有自己的原型对象,从而形成了一条原型链条。当试图访问一个对象的属性时,它不仅仅在该对象上搜寻,还会搜寻该对象的原型,以及该对象的原型的原型,依次层层向上搜索,直到找到一个名字匹配的属性或到达原型链的末尾。

2024-04-23 10:02:33 884

原创 javaScript中的包装类型Boolean、Number、String

基本数据类型和引用类型这两个类型其中一个很明显的区别是,引用类型有自己内置的方法,也可以自定义其他方法用来操作数据,而基本数据类型不能像引用类型那样有自己的内置方法对数据进行更多的操作。对于引用类型的数据,在执行流离开当前作用域之前都会保存在内存中,而对于自动创建的基本包装类型的对象,只存在于一行代码的执行瞬间,执行完毕就会立即被销毁。基本包装类型的对象和引用类型的对象最大的一个区别是,对象的生存期不同,导致的一个结果就是,基本包装类型无法自定义自己的方法。在基本包装对象的原型下面添加,每个对象都有原型。

2024-04-22 17:43:09 306 1

原创 javaScript中let、var、const 的区别

在JavaScript中,一共存在3种声明变量的方式:varletconst之所以有3种方式,这是由于历史原因造成的。最初声明变量的关键字就是var,但是为了解决作用域的问题,所以后面新增了let和const的方式。

2024-04-22 17:24:53 818

原创 CSS中的层叠上下文

平时我们从设备终端看到的 HTML 文档都是一个平面的,事实上 HTML 文档中的元素却是存在于三个维度中。除了大家熟悉的平面画布中的 x 轴和 y 轴,还有控制第三维度的 z 轴。其中 x 轴通常用来表示水平位置,y 轴来表示垂直位置,z 轴表示屏幕内外方向上的位置。在 CSS 中要确定沿着 z 轴排列元素,表示的是用户与屏幕的这条看不见的垂直线:而这里我们要讨论的层叠上下文( stacking context ),就是 HTML 中的一个三维的概念。

2024-04-22 16:45:52 1087

原创 CSS 渲染性能优化

如果某些属性可以继承,那么自然没有必要在写一遍。所谓重排就是浏览器重新计算布局位置与大小。这里我们主要来看 CSS 方面能够进行哪些性能优化。文件被下载、解析之后,浏览器才会知道还有另外一个。需要下载,这时才去下载,然后下载后开始解析、构建。会引发资源文件的下载顺序被打乱,即排列在。当然,性能优化是来自方方面面的。会影响浏览器的并行下载。文件只有在引用它的那个。会导致下载顺序紊乱。下载,并且打乱甚至破坏。

2024-04-22 16:29:11 356

原创 渐进式渲染

在网页加载的时候,某些图片还在请求中或者还未请求,这个时候就先找一个临时代替的图像,放在最终图像的位置上,但是这只是临时替代的图形,当图片数据准备好以后,会重新渲染真正的图形数据。但用户并不是一开始就需要所有的资源,所有我们可以对资源进行拆分,首先加载那些关键的资源,其他的资源等到需要的时候再去加载它。大部分用户不会用到一个网站的所有页面,但我们通常的做法却是把所有的功能都打包进一个很大的文件里面。,也被称之为惰性渲染,指的是为了提高用户感知的加载速度,以尽快的速度来呈现页面的技术。文件的大小可能会有几。

2024-04-22 16:19:00 339

原创 CSS 层叠继承规则总结

每一个元素都有所有的属性,每一个属性都会通过一系列的计算过程得到最终的值。其中的第二步和第三步层叠和继承会有一些需要注意的知识点。

2024-04-22 16:14:58 599

原创 CSS 属性的计算过程

如果该条属性作者并没有设置,那么还不会着急去使用默认值,而是会去看一下能否继承到该属性值。当然不是,真实的情况是这个元素所有的属性都拥有,只不过有一组默认的属性值。,当作者样式和浏览器默认样式中的声明值有冲突时,会优先把作者样式中的声明值当作。最终,如果没有作者样式,该属性值也无法继承而来,则会使用浏览器的默认样式。一段很简单的代码,就一个段落,然后设置了一个颜色属性为红色。属性,但是其实它一个属性都没落下,每个属性都是有默认值。属性值,同属于作者样式,这显然就属于层叠冲突了。

2024-04-22 15:55:57 458

原创 CSS中的BFC

简单来说,就是页面中的一块渲染区域,并且有一套自己的渲染规则。它决定了元素如何对其内容进行布局,以及与其他元素的关系和相互作用。在上面的代码中,父元素的高度是靠子元素撑起来的,但是一旦我们给子元素设置了浮动,那么父元素的高度就塌陷了。效果:在上面的代码中,我们要设置两栏布局,左边栏宽度固定,右边栏自适应。基于此特点,我们就可以制作两栏自适应布局,方法就是给固定栏设置固定宽度,给不固定栏开启。设置了浮动效果,所以会脱离标准流,自然而然。上面只记录了一些常见的方式,完整的。的高度时,浮动子元素也参与计算。

2024-04-22 15:43:00 1025

原创 HTML中的页面可见性

所以,所谓页面可见性,就是获取当前页面的可见状态。因为对于用户来讲可以打开好多标签页面来回切换,然而始终只有一个页面处于显示状态。所以我们可以通过页面可见性(Page Visibility)API 来判断当前页面是显示状态还是隐藏状态。页面事件来判断当前页面可见性的状态,并针对性的执行某些任务。长期以来一直缺少一个判断用户是否正在浏览某个指定标签页的方法。里页面可见性接口就提供给了程序员一个方法,让他们使用。用户是否去看别的网站了?更多有关页面可见性的内容可以参阅。"页面切换了~目前不可见"

2024-04-22 15:18:36 476

原创 HTLM中的替换元素

所谓可替换元素(replaced element),是指一些展现效果不由 CSS 来控制的元素。这些元素是一种外部对象,它们。简单来说,它们的内容不受当前文档的样式的影响。CSS可以影响可替换元素的位置,但不会影响到可替换元素自身的内容。某些可替换元素,例如<iframe>元素,可能具有自己的样式表,但它们不会继承父文档的样式。与替换元素相对应的,就是非替换元素,顾名思义就是那些样式完全由 CSS 来控制的元素,例如 p,h1~h6 等。更多可替换元素内容可以参阅MDN。

2024-04-22 15:12:45 228

原创 HTML中的SEO

SEOSEO。

2024-04-22 14:52:12 715

原创 HTML语义化

语义是指对一个词或者句子含义的正确解释。很多HTML标签也具有语义的意义,也就是说。例如,当浏览器解析到<h1></h1>标签时,它将该标签解释为包含这一块内容的最重要的标题。h1标签的语义就是用它来标识特定网页或部分最重要的标题。

2024-04-22 14:36:34 322

原创 HTML中的文档声明

浏览器都开始采纳新标准,但存在一个问题就是如何保证旧的网页还能继续浏览,在标准出来以前,很多页面都是根据旧的渲染方法编写的,如果用的标准来渲染,将导致页面显示异常。书写文档声明原因是不同版本所支持的 HTML 元素类型是不同的,我需要告诉浏览器以哪一种文档类型方式来解析当前的这个 HTML 文件。模式下,一个元素的高度是由其包含的内容来决定的,如果父元素没有设置高度,子元素设置一个百分比的高度是无效的。为保持浏览器渲染的兼容性,使以前的页面能够正常浏览,浏览器都保留了旧的渲染方法(如:微软的。

2024-04-22 14:22:36 1272

原创 关于Vue中v-if 和 v-for一起使用

在Vue中不推荐同时使用 v-if 和 v-for。当 v-if 与 v-for 一起使用时,v-for 具有比 v-if 更高的优先级。一般在两种常见的情况下会倾向于同时使用v-if 与 v-for为了过滤一个列表中的项目 (比如 v-for="user in users" v-if="user.isActive")。在这种情形下,请将 users 替换为一个计算属性 (比如 activeUsers),让其返回过滤后的列表。为了避免渲染本应该被隐藏的列表 (比如 v-for="user in u

2022-05-06 12:38:49 6252

原创 HTTP的基础知识——HTTP协议

简单的HTTP协议HTTP 协议和 TCP/IP 协议族内的其他众多的协议相同,用于客户端和 服务器之间的通信。HTTP 协议规定,请求从客户端发出,最后服务器端响应该请求并返 回。换句话说,肯定是先从客户端开始建立通信的,服务器端在没有 接收到请求之前不会发送响应。请求报文是由请求方法、请求 URI、协议版本、可选的请求首部字段 和内容实体构成的。接收到请求的服务器,会将请求内容的处理结果以响应的形式返 回。响应报文基本上由协议版本、状态码(表示请求成功或失败的数字代 码)、用以解释状态码的原

2022-05-05 21:44:44 309

原创 HTTP的基础知识——IP、TCP(3次握手) 和 DNS

与 HTTP 关系密切的协议 : IP、TCP 和 DNS负责传输的 IP 协议按层次分,IP(Internet Protocol)网际协议位于网络层。可能我们会把“IP”和“IP 地址”搞混,“IP”其实是一种协议的名称。IP 协议的作用是把各种数据包传送给对方。而要保证确实传送到对方 那里,则需要满足各类条件。其中两个重要的条件是 IP 地址和 MAC 地址(Media Access Control Address)。IP 地址指明了节点被分配到的地址,MAC 地址是指网卡所属的固定 地址。

2022-05-05 12:54:14 262

原创 HTTP的基础知识——TCP/IP协议族

TCP/IP 协议族计算机与网络设备要相互通信,双方就必须基于相同的方法。比如, 如何探测到通信目标、由哪一边先发起通信、使用哪种语言进行通 信、怎样结束通信等规则都需要事先确定。不同的硬件、操作系统之 间的通信,所有的这一切都需要一种规则。而我们就把这种规则称为 协议(protocol)。TCP/IP 协议族里重要的一点就是分层。TCP/IP 协议族按层次分别分 为以下 4 层:应用层、传输层、网络层和数据链路层。把 TCP/IP 层次化是有好处的。比如,如果互联网只由一个协议统 筹,某个地方需要改

2022-05-05 12:31:52 113

原创 Vue Router 组件内的守卫、导航解析流程

可以在路由组件内直接定义路由导航守卫(传递给路由配置的)可用的配置 APIbeforeRouteEnter在渲染该组件的对应路由被验证前调用。此时不能获取组件实例 this ,因为当守卫执行时,组件实例还没被创建!beforeRouteUpdate在当前路由改变,但是该组件被复用时调用。举例来说,对于一个带有动态参数的路径 /users/:id,在 /users/1 和 /users/2 之间跳转的时候,由于会渲染同样的 UserDetails 组件,因此组件实例会被复用。而这个钩子就会在

2022-04-29 17:37:20 440

原创 Vue Router 重定向和别名

重定向举例说明:重定向是指当用户访问 /home 时,URL 会被 / 替换,然后匹配成 /。重定向也是通过 routes 配置来完成,下面例子是从 /home 重定向到 /:const routes = [{ path: '/home', redirect: '/' }]重定向的目标也可以是一个命名的路由:const routes = [{ path: '/home', redirect: { name: 'homepage' } }]也可以是一个方法,动态返回重定向目标:const r

2022-04-29 15:48:13 1380

空空如也

空空如也

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

TA关注的人

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