自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序媛的梦工厂

努力向全栈。。。

  • 博客(216)
  • 问答 (1)
  • 收藏
  • 关注

原创 JS例题。

前言:这些都是自己日常收藏的觉得比较复杂一点、题目挺绕的、大家日常容易忽略的小知识点的题目,我看到题目执行结果的时候,上面的表情包形象的表达了我当时的心情,大佬觉得简单就请不要嘲笑小生,请绕道走。

2019-07-25 12:00:20 360 1

原创 移动端常用meta

移动端常见meta设置

2024-05-23 17:48:49 112

原创 进程和线程

进程和线程的区别与联系,以及他们之间的通信方式

2024-04-15 23:46:31 869

原创 node相关

测试。

2024-04-07 13:43:08 866

原创 前端面试必刷力扣前100算法(更新中...)

面试最热算法,前端必会

2024-03-20 17:38:17 1063

原创 使用Lerna搭建业务组件库

Lerna 是一个用来优化托管在 git\npm 上的多 package 代码库的工作流的一个管理工具,可以让你在主项目下管理多个子项目,从而解决了多个包互相依赖,且发布时需要手动维护多个包的问题。

2024-03-19 23:04:27 3537

原创 vite打包流程和原理

vite打包原理

2024-03-15 11:35:12 769

原创 CSS小知识

box-sizing 属性定义如何计算一个元素的总宽度和总高度,主要设置是否需要加上内边距(padding)和边框等。

2024-03-05 14:35:40 552

原创 TS常见问题

ts常见面试题

2024-03-05 09:57:01 425

原创 浏览器常见进程和线程

浏览器常见进程和线程

2024-03-04 20:57:55 940

原创 js和css阻塞问题

- css 加载会不会阻塞 js 的加载?(不会)- css 加载会不会阻塞 js 的执行?(会)- css 加载会不会阻塞 DOM 的解析?(不会)- css 加载会不会阻塞 DOM 的渲染?(会)- js 加载会不会阻塞 DOM 的解析?(会)- js 加载会不会阻塞 DOM 的渲染?(会)- js 执行会不会阻塞 DOM 的解析?(会)- js 执行会不会阻塞 DOM 的渲染?(会)

2024-03-04 18:11:25 538

原创 webpack和vite的区别

webpack和vite的区别

2024-02-29 14:30:40 530

原创 微服务之间的js隔离和css隔离实现原理

微服务之间的js隔离和css隔离实现原理

2024-02-28 10:21:19 898

原创 vue2 computed原理,与watch的区别

computed和watch的区别,computed原理,源码解析

2024-02-27 11:05:54 376

原创 JS常见问题

【代码】JS常见问题。

2024-02-22 18:20:00 677

原创 call | apply bind原生实现

前言apply(thisArg, [])call(thisSrg, arg1,arg2,...)函数作用:改变this的指向函数区别:功能完全一样,接收的参数形式不一样callFunction.prototype.myCall = function(obj){ let args = []; for(let i=1;i<arguments.length;i++){...

2024-02-22 17:23:20 561 1

原创 jwt鉴权,token相关

JWT是什么JWT(JSON Web Token):用来在用户和服务器之间传递安全可靠的信息三部分组成:eader(头部), 声明类型,这里是JWT,声明加密的算法,最后通过Base64编码Payload(数据), 应用层自己带的数据信息。因为该部分是明文的, 所以不可以带敏感信息。 比如可以带 user_id, 但是不可以带 user 的密码等。Signature(签名)HMACSHA256(base64Url(header)+.+base64Url(payload),secretKey)一

2024-02-22 16:49:38 871

原创 vue生命周期函数

vue生命周期函数

2024-02-18 14:14:43 414

原创 scoped实现原理

scoped实现原理。

2024-02-18 14:12:31 389

原创 vue3 hooks

vue3 hooks

2024-02-18 14:11:40 393

原创 vue常见问题

vue面试常见问题

2024-02-18 14:09:07 979

原创 说一下for...in 和 for...of的区别?

【代码】说一下for...in 和 for...of的区别?

2024-02-01 17:16:34 351

原创 观察者模式和发布订阅者模式与EventBus

eventBus

2024-02-01 15:59:34 422

原创 websocket

1、客户端发送 http 请求,经过三次握手,建立 TCP连接,在 http 请求里存放 websocket 支持的版本号等信息;4.每条记录都有id 每次请求客户端保留一个最大id 以后每次重连 都需要查询比这个id新的记录就行了。2、服务器接收请求,同样以 http 协议回应;3、连接成功,客户端与服务器建立持久性的连接。

2024-02-01 14:15:16 371

原创 npm和yarn区别

都是包管理工具,但是yarn的出现是为了弥补npmV4(npmV5结合yarn和自身的一些问题做了很大的升级,性能和速度都提高了)及之前版本的一些问题。

2024-02-01 14:14:58 372

原创 垃圾回收机制

垃圾回收

2024-02-01 14:14:36 366

原创 JS数据类型和相关问题

一是数值的精度只能到 53 个二进制位(相当于 16 个十进制位),大于这个范围的整数,JavaScript 是无法精确表示,这使得 JavaScript 不适合进行科学和金融方面的精确计算。Symbol.for()不会每次调用就返回一个新的 Symbol 类型的值,而是会先检查给定的key是否已经存在,如果不存在才会新建一个值。这个值的语义是,希望表示一个对象被人为的重置为空对象,而非一个变量最原始的状态。这个值的语义是,希望表示一个变量最原始的状态,而非人为操作的结果。是false,类型不同,

2024-02-01 14:14:11 351

原创 隐式类型转换和显式类型转换

在隐式类型转换中,JS 引擎自动地将一种数据类型转换为另一种类型,通常发生在运算或比较的过程中。这种转换是隐式的,开发者不需要明确地进行操作,而是由 JS 引擎在必要的时候自动完成。操作符优先级最高,所以需要先将[]转换为布尔值,再对其进行取反,[]转化为布尔值为true(所有对象都是true),所以!布尔值和对象进行运算需要进行隐式转换,将两边都转化为数字进行比较,左边先转换为字符串’',再转换为数字0,右边false转为数字为0。

2024-02-01 14:13:38 404

原创 CSS堵塞和JS堵塞

CSSJS。

2024-02-01 14:13:05 393

原创 服务端渲染

SSR简单来说就是页面上的内容是通过服务端渲染生成的,浏览器直接显示服务端返回的html就可以了。相比之前常用的SPA来说有很多的优点,如下图,但也有一些实际存在的问题,在实际应用中需要多方面权衡利弊。

2024-02-01 11:06:36 305

原创 作用域、变量提升、执行上下文

占位。

2024-01-30 13:48:49 333

原创 移动端1px问题

在以前,css的1px就是物理像素1px,但是由于现在手机屏幕变为高清屏幕,屏幕尺寸没变,但是像素点变多了,导致CSS 中的 1px 并不能和移动设备上的 1px 划等号。:window.devicePixelRatio = 设备的物理像素 / CSS像素,意味着css中写的。,实际展示2个物理像素,看起来会粗一点。

2024-01-30 11:42:51 349

原创 实现一个比12px更小的字体,设置一个0.5px的边框

【代码】实现一个比12px更小的字体,设置一个0.5px的边框。

2024-01-30 11:33:47 334

原创 position sticky VS positon fixed, width:100% VS width:auto

所以,在开发中尽量还是选择 width:auto ,因为当从边距、填充或边框添加额外空间时,它将尽可能努力保持元素与其父容器的宽度相同。而width:100%将使元素与父容器一样宽。额外的间距将添加到元素的大小,而不考虑父元素。

2024-01-30 11:32:00 335

原创 css选择器优先级

!important: 具有最高优先级内联样式: 内嵌于HTML元素的样式ID选择器: 权重为100类选择器: 权重为10属性选择器: 权重为10伪类选择器: 权重为10 (:first-child、:hover、:disabled)标签选择器: 权重为1伪元素选择器: 权重为1(::before、::after)兄弟选择器: 权重为0子选择器: 权重为0后代选择器: 权重为0通配符选择器: 权重为0

2024-01-30 11:30:02 323

原创 GPU 和 CSS 硬件加速

将需要进行动画的元素提升到一个独立的层(layer),这样就可以避免浏览器进行重新布局(Reflow)和绘制(Repaint),将原先的浏览器使用CPU绘制位图来实现的动画效果转为让GPU使用图层合成(composite)来实现,如果两张图层内部没有发生改变,浏览器就不再进行布局和绘制,直接使用GPU的缓存来绘制每个图层,GPU只负责将各个图层合成来实现动画,这就可以充分利用GPU的资源和优势,减轻CPU的负载,可以使动画更流畅。最好的做法是对那些可能动画的元素设置属性,并在动画结束后就移除这个属性。

2024-01-30 11:29:03 494

原创 vuex一文通

常见问题actions为什么可以处理异步任务,和mations有什么区别当我们修改数据,只能通过mutation修改stateactions里面可以做异步操作,但是并不是直接修改数据,提交的是mutations里面的方法,多个异步任务可以在actions中触发,dispatch(‘xxx’)返回的是一个PromiseMutation 为什么必须是同步函数?如果mutation支持异步操作,就没有办法知道状态是何时更新的,无法很好的进行状态的追踪,给调试带来困难。比如里面是异步任务,那么在

2024-01-30 11:21:38 270

原创 ES2023最新特性

【代码】ES2023最新特性。

2024-01-30 11:16:20 345

原创 async await原理,和generator, promise这三者的关联和区别是什么?

async await实际上是语法糖,可以通过书写同步代码的方式,执行异步操作,内部实现其实就是通过generator和yield实现。await后面返回的是一个promise对象。

2024-01-30 11:15:19 334

原创 web worker

使用场景:

2024-01-30 11:14:23 448

空空如也

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

TA关注的人

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