- 博客(15)
- 收藏
- 关注
原创 Css预编语言的理解?有哪些区别?
Css作为一门标记性语言,语法相对简单,但同时也带来一些问题。需要书写大量看似没有逻辑的代码,不方便维护及扩展,不利于复用,Css预处理器便是针对上述问题的解决方案。作用域:Css 预编译器把变量赋予作用域,也就是存在生命周期。就像 js一样,它会先从局部作用域查找变量,依次向上级作用域查找。变量:less声明的变量必须以@开头,后面紧跟变量名和变量值,而且变量名和变量值需要使用冒号:分隔开。混入:Mixins可以将一部分样式抽出,作为单独定义的模块,被很多选择器重复使用。嵌套:三者的嵌套语法都是一致的。
2024-08-15 18:23:25
227
原创 axios中timeout底层原理
如果在超时时间内没有收到服务器的响应,计时器触发,axios 将终止请求并触发一个超时错误(例如 TimeoutError)axios 使用了浏览器的 XMLHttpRequest 或 fetch API 来发起 HTTP 请求。如果在超时时间内收到了服务器的响应(包括状态码、响应头和响应体),则计时器被清除,请求继续执行。当请求被发送时,axios 启动一个计时器,开始计时,计时器的时长就是设置的超时时间。用户通过 axios 配置文件中的 timeout 选项设置请求的超时时间。
2024-08-15 17:24:48
327
原创 Proxy 可以实现什么功能?
在上述代码中,通过自定义 set 和 get 函数的方式,在原本的逻辑中插入了我们的函数逻辑,实现了在对对象任何属性进行读写时发出通知。target 代表需要添加代理的对象,handler 用来自定义对象中的操作,比如可以用来自定义 set 或者 get 函数。在 Vue3.0 中通过 Proxy 来替换原本的。中新增的功能,它可以用来自定义对象中的操作。下面来通过 Proxy 来实现一个数据。
2024-08-15 17:14:51
372
原创 Localstorage 、sessionStorage 、cookie 的区别
1 、cookie 数据始终在同源的 http 请求中携带 (即使不需要), 即 cookie 在浏览器和服务 器间来回传递, 而 sessionStorage 和 localStorage 不会自动把数据发送给服务器, 仅在本 地保存。2、存储大小限制也不同, cookie 数据不能超过 4K,同时因为每次 http 请求都会携带 cookie 、所以 cookie 只适合保存很小的数据,如会话标识。4、作用域不同, sessionStorage 不在不同的浏览器窗口中共享, 即使是同一个页面;
2024-08-13 11:24:10
215
原创 transform, transition, animation 的作用
2、transition 样式过渡, 从一种效果逐渐改变为另一种效果 transition 是一个合写属性 Transition:transition-property transition-duration transition-timing-function transition-delay 从左到右分别是: css 属性、 过渡效果花费时间 、速度曲线、 过渡开始的延迟时间 transition 通常和 hover 等事件配合使用, 需要由事件来触发过渡。
2024-08-13 11:18:00
224
原创 ES6对数据类型都做了那些优化
1.1) 箭头函数内的 this 指向的是函数定义时所在的对象,而不是函数执行时所在的对象。ES5函数里的 this 总是指向函数执行时所在的对象,这使得在很多情况下this 的 指 向变得很难理解,尤其是非严格模式情况下,this有时候会指向全局对象,这甚至也可以归结为语言层面的bug之一。ES6 的箭头函数优化了这一点,它的内部没有自己的 this,这也就导致了this 总是指向上一层的this,如果上一层还是箭头函数,则继续向上指,直到指向到有自己this 的函数为止,并作为自己的this。
2024-08-08 16:23:57
470
原创 js的几大设计模式
1.1如何实现:设置一个变量,通过变量来判断当前的类有没有实例化,如果已经实例化了,不再实例化,直接返回实例对象。保证一个类只能产生一个实例,使用构造函数实例化的时候,不管实例化多少次,都是同一个对象,也就是一个构造函数一生只能new 出一个对象。当需要改变一个程序的功能或者给这个程序增加新功能的时候,可以使用增加代码的方式,但是不允许改动程序的源代码。组合模式就是用小的子对象来构建更大的对象,而这些小的子对象本身也许是由更小的“孙对象”构成的。封闭:封闭的是函数(封装的源代码)(不能改动)
2024-08-07 10:52:05
197
原创 se6的set和map是什么?有什么方法?
特点:Set中的元素是无序的,没有索引,因此不能像数组一样通过索引访问元素,它本身是一个构造函数。③get( key):get 方法读取key 对应的键值,如果找不到key,则返回undefined。1.存储和检索与某个键相关联的数据,例如存储用户信息,其中键是用户名,值是用户对象。set: 用来存储一组唯一的值,它确保其中的每个值都是唯一的,不会出现重复。③Delete ()删除某个值,返回一个布尔值,表示删除是否成功。map:用于存储键值对的集合,其中每个键都是唯一的,可以与值关联。
2024-08-07 10:31:15
303
原创 浏览器的缓存机制,强缓存与协商缓存
但缓存也可能导致问题,例如当服务器上的资源已更新但浏览器仍然使用旧版本的资源时,可能导致页面不一致或错误。开发者可以通过适当配置HTTP缓存头部和使用Web存储来控制浏览器缓存的行为,以满足特定的需求和业务逻辑。协商缓存:如果资源在缓存有效期内过期,浏览器会向服务器发送请求,但不会要求服务器返回整个资源。服务器会检查资源的修改日期或标识等信息,并根据情况返回新资源或告诉浏览器继续使用缓存。强缓存:浏览器在请求资源之前会首先检查本地缓存,并根据缓存的有效期来决定是否使用缓存。
2024-08-07 10:16:32
222
原创 Vue的路由实现模式:hash模式和history模式
1、hash模式:在浏览器中符号“#”, #以及#后面的字符称之为hash, 用window.location.hash读取。特点:hash虽然在URL中, 但不被包括在HTTP请求中;用来 指导浏览器动作,对服务端安全无用, hash不会重加载页面。2.2) replaceState()可以对浏览器历史记录栈进行修改,以及popState事件的监听到状态变更。
2024-08-02 21:10:10
215
原创 JSON的定义,如何理解JSON
因为 JSON 的语法是基于 js 的,因此很容易将 JSON 和 js 中的对象弄混,但是应该注意的是 JSON 和 js 中的对象不是一回事,JSON 中对象格式更加严格,比如说在 JSON 中属性值不能为函数,不能出现 NaN 这样的属性值等,因此大多数的 js 对象是不符合 JSON 对象的格式的。在前端通过将一个符合 JSON 格式的数据结构转为JSON 字符串,然后将它传递到后端,后端通过 JSON 格式的字符串解析后生成对应的数据结构,以此来实现前后端数据的一个传递。
2024-08-01 21:50:07
188
原创 如何理解async/await,与Promise的区别
async 函数(包含函数语句、函数表达式、Lambda表达式)会返回一个 Promise 对象,如果在函数中 return 一个直接量,async 会把这个直接量通过 Promise.resolve() 封装成 Promise 对象。单一的 Promise 链并不能发现 async/await 的优势,但是,如果需要处理由多个 Promise 组成的 then 链的时候,优势就能体现出来了,并且代码读起来更加同步,Promise虽然摆脱了回调地狱,但是then的链式调⽤也会带来额外的阅读负担。
2024-08-01 21:35:53
284
原创 小程序之切换多种身份
有时候项目需求里面涉及到多种身份之间来回切换,类似于boss直聘牛人和boss这两种身份可以同时拥有并且支持来回切换。本文是一个小程序的几种身份切换的具体逻辑和相关代码。
2024-07-30 01:03:55
426
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人