自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JS中字符串之间的大小比较

在 JavaScript 中,字符串的比较是一项常见的操作,用于排序、查找、筛选和其他数据处理任务中。准确理解和掌握字符串大小比较的规则对于编写高效的代码至关重要。然而,字符串比较并非总是显而易见的,因为它不仅仅取决于字符的外观或数字值。实际上,JavaScript 字符串的比较是基于字符的 Unicode 值进行的。了解这些规则和背后的原理对于正确理解和预测比较结果至关重要。在本文中,我们将深入探讨 JavaScript 字符串大小比较的工作原理。

2023-07-04 14:05:31 2222

原创 IIFE(立即调用函数表达式)

IIFE(立即调用函数表达式)

2022-11-15 18:37:46 1178

原创 手写实现call方法和apply方法

通过查MDN文档我们可以发现,call和apply只有一个区别,就是 call() 方法接受的是一个参数列表,而 apply() 方法接受的是一个包含多个参数的数组。这里是手动实现代码function person(a, b, c, d) { return { name: this.name, a: a, b: b, c: c, d: d }}const egg = { name: '小蛋',

2022-04-19 22:39:26 305

原创 JavaScript 数组去重方法合集(简洁易懂)

JavaScript数组去重JavaScript去重的七种方法 简单易懂方法一:暴力去重法// 暴力去重法function ArrayIsUnique (array) { if (!Array.isArray(array)) return; for (let i = 0; i < array.length; i++) { for (let j = i + 1; j < array.length; j++) { if (array[

2022-04-04 12:12:47 2051 2

原创 CSS 5种垂直水平居中的实现方法(包括table和grid布局)

首先需要创建一个容器,容器种添加一个小div,实现小div在容器种的垂直水平居中。<style> * { margin: 0; padding: 0; } .container { width: 500px; height: 500px; background-color: orange; margin: 0 auto; } .content { width: 100px

2022-03-08 15:42:31 2559

原创 前端传时间到后端比被选择时的时间少了8个小时

前端传时间到后端比被选择时的时间少了8个小时问题产生原因:因为选择时间选择的是本地时区,而传值到后端是经过转换的世界时区为什么会出现本地时区转换为世界时区?因为后端需要的是ISO时间格式,前端传值为日期格式,日期在通过body转换的时候触发了底层的一个方法(方法名具体未知)将日期格式转换为ISO时间格式,同时将时区转换为了世界时区,导致了时间传到后端的传值少了8个小时前端处理代码(放在请求拦截器中,一旦请求参数中出现日期就触发该部分代码)request.interceptors.reques

2022-02-09 16:17:59 4458 3

原创 使用a标签或者iframe下载文件时出现2s延迟且下载了多个文件的问题解决方案,setTimeout(“location.replace(location.href.split(\“#\“)[0])“

使用a标签或者iframe下载文件时出现2s延迟且下载了多个文件的问题解决方案,setTimeout(“location.replace(location.href.split(”#")[0])"问题出现场景:在做项目的过程中碰到下载文件场景,本来这是一个很简单的流程,可是出现了点击一次按钮下载了两个文件的情况,一开始使用a标签的时候还进行页面跳转(应该是触发了默认行为)。最后选择了使用iframe标签下载文件,这样虽然解决了点击跳转的问题,但是还是偶尔会下载两个文件。通过查看接口调用可以看到调用了三

2021-10-25 15:56:39 1610

原创 typeof与instancof在进行类型判断时的区别

typeof与instancof在进行类型判断时的区别如果熟悉JavaScript的程序员应该对这两个判断函数不陌生,但是这两个在本质上还是有一定的区别。typeof的实现原理typeof其实最被广大程序员们使用,typeof可以用来判断number,string,undefined,null,boolean,object,symbol这七种数据类型。在typeof进行对基本数据类型的判断时,它能准确的告诉我们属于哪种数据类型。关于typeof的实现原理,其实在JavaScript底层存储变量的时候

2021-09-15 01:32:20 186

原创 使用React实现时间的天数,小时数,分钟数之间的自动转化

由于公司项目需要使用React实现时间的天数,小时数,分钟数之间的自动转化,在遇了很多坑后终于解决了问题。需要实现的功能:当用户在输入小时数的时候,超过24小时就自动转化为相应的天数;当用户在输入分钟数的时候,超过60分钟以上就要自动转化成相应的小时数和天数;且要实现再次输入的叠加(当已经是1天12时,输入61分钟;得到的是1天13时1分钟。以此类推)。先实现天数、小时数、分钟数的转化函数// 日期转化函数// 需要实现功能:当在输入了大于等于24小时就转化成相应的天数,当输入了大于等于60分钟

2021-07-20 18:27:56 1555

原创 Cookie和Session的区别

什么是Cookie?HTTP是无状态的协议(对于事务处理没有记忆能力,每次客户端和服务端会话完成时,服务端不会保存任何会话信息):每个请求都是完全独立的,服务端无法确认当前访问者的身份信息,无法分辨上一次的请求发送者和这一次的发送者是不是同一个人。所以服务器与浏览器为了进行会话跟踪(知道是谁在访问我),就必须主动的去维护一个状态,这个状态用于告知服务端前后两个请求是否来自同一浏览器。而这个状态需要通过cookie 或者 session 去实现。cookie 存储在客户端: cookie是服务器发送到

2021-07-15 14:16:46 101

原创 JavaScript中的高频函数flat拉平数组的实现

在前端获取数据时经常会遇到需要数组中嵌套数组的情况,这个时候就需要将数组拉平得到一个完整的数组来展示数据。let newArr = []function flat(val) { // 递归函数newArr的创建不能放在函数中 for(let i in val) { // 判断是否为数组,如果为数组就进行递归 if(Array.isArray(val[i])){ flat(val[i]) } else {

2021-07-14 00:14:48 333

原创 HTTP(超文本传输协议)的通俗理解

HTTP的名字「超文本协议传输」,它可以拆成三个部分:「协议」HTTP 是一个用在计算机世界里的协议。它使用计算机能够理解的语言确立了一种计算机之间交流通信的规范(两个以上的参与者),以及相关的各种控制和错误处理方式(行为约定和规范)。「传输」所谓的「传输」,很好理解,就是把一堆东西从 A 点搬到 B 点,或者从 B 点 搬到 A 点。别轻视了这个简单的动作,它至少包含两项重要的信息。HTTP 协议是一个双向协议。我们在上网冲浪时,浏览器是请求方 A ,百度网站就是应答方

2021-07-11 21:56:10 1673

原创 从浏览器输入url到显示界面发生了什么?(详细解答)

在前端面试过程中经常会遇到这个问题:从浏览器输入url到显示界面发生了什么?这个问题其实考验的是一个前端工程师是否了解浏览器的运行原理和html、css、js的运行原理。以下将做出详细解答,图片来源自B站link有兴趣的可以去B站看一遍视频,将会有更深的理解。本人在博客中只是做一个总结记录。浏览器结构图:用户界面用于展示除标签页窗口外的其他用户界面内容渲染引擎负责渲染用户请求的页面内容在用户界面和渲染引擎有一个浏览器引擎,用于在用户界面和渲染引擎之间传递数据渲染引擎下许多小模块,例如负责网

2021-07-04 23:54:53 999

原创 解决无效token的方法

解决无效token的方法在调用API接口时遇到了无效token的问题,网上搜了一大圈还以为是token时效的问题,最后发现是给需要授权的 API ,必须在请求头中使用Authorization 字段提供 token 令牌。需要在main.js文件里添加axios拦截器axios.interceptors.request.use(config => { console.log(config); config.headers.Authorization = window.sessionSt

2021-06-08 01:57:10 57087 9

原创 登录请求中返回promise对象时用await async调整回response

往往在登录请求中会进行了异步操作所以导致返回了一个promise对象。Login() { this.$refs.loginFormRef.validate(valid => { if(!valid) return; const { data : res } = this.$http.post('login',this.loginForm); if(res.meta.status !

2021-06-02 20:17:48 609

转载 JavaScript的基础运算符重点表达式

JavaScript的基础运算符重点表达式今天在学习JavaScript的时候在现代JavaScript教程的网站上碰见了几个很重要的运算符表达式,因此记录下来。"" + 1 + 0 = "10" // (1)"" - 1 + 0 = -1 // (2)true + false = 16 / "3" = 2"2" * "3" = 64 + 5 + "px" = "9px""$" + 4 + 5 = "$45""4" - 2 = 2"4px" - 2 = NaN7 / 0 = Infin

2021-06-01 16:17:26 125

空空如也

空空如也

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

TA关注的人

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