自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

前端开发工程师博客

前端开发工程师

  • 博客(173)
  • 资源 (1)
  • 收藏
  • 关注

原创 React Redux使用详细讲解

React Redux 是 React 生态中用于管理应用状态的一个库,它与 Redux 结合使用,通过将组件的 state抽离到一个全局的 store 中进行集中管理。:安装依赖。

2024-03-08 09:49:53 650

原创 vuex的使用代码详细讲解

Vuex 是 Vue.js 应用程序的状态管理模式,它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。以下是使用 Vuex 的基本步骤以及一个简单的计数器实例来说明其工作原理:步骤1:安装和引入 Vuex。

2024-03-08 09:42:35 442

原创 react,hooks中的useRef使用

在React中,useRef 是一个 Hook,它返回一个可变的引用对象,其 .current 属性被初始化为传递的参数(initialValue)。React会自动将DOM元素关联到 inputEl.current 上,这样我们就可以在组件的任何地方直接访问和操作这个DOM元素了。然后定义了一个处理函数 onButtonClick,当点击按钮时,该函数会被调用,进而调用 inputEl.current.focus() 来将焦点设置到与 inputEl 关联的 元素上。

2024-03-07 14:05:06 385

原创 react hooks useReducer使用

在React中,useReducer是一个用于管理组件状态的Hook,它特别适用于处理复杂的状态逻辑和多个相关状态。这个Hook接收一个reducer函数(与Redux中的reducer概念类似)和一个初始状态作为参数,并返回一个新的state值以及一个dispatch方法来触发状态更新。然后我们在组件中创建了两个事件处理器函数 handleIncrement 和 handleDecrement,分别对应按钮的点击事件,它们调用 dispatch 并传入不同的action对象以实现计数的增减功能。

2024-03-07 10:01:03 685 1

原创 react 如何创建antdesign项目,详细讲解

创建一个基于React和Ant Design的项目可以分为几个步骤。这里以使用Create React App(CRA)脚手架为基础,结合Ant Design UI库为例来说明:步骤1:安装Node.js和npm确保您的开发环境中已经安装了最新版的Node.js和npm。你可以从Node.js官网下载并安装。步骤2:安装Create React App脚手架工具步骤3:创建React应用等待脚手架自动完成项目的初始化和依赖安装。步骤4:进入项目目录并启动项目bash。

2024-03-06 13:39:47 1173

原创 vue 路由hash模式和history有什么区别?

总结来说,选择哪种模式取决于项目需求和环境条件,如果关注SEO和更友好的URL结构,同时愿意配置服务器以支持History模式,则应优先考虑History模式;需要服务器端的支持才能正常工作。当用户直接访问或刷新某个非首页的History模式下的URL时,服务器应该返回对应的HTML文件或者重定向到应用程序的入口点,这样Vue Router才能够正确地接管并渲染相应的组件。URL结构: 在history模式下,URL看起来更像是正常的、没有哈希的URL,如http://example.com/home。

2024-03-04 13:51:00 601

原创 什么是强缓存、协商缓存?

强缓存就是浏览器本地根据服务器设置的过期时间来判断是否使用缓存,未过期则从本地缓存里拿资源,已过期则重新请求服务器获取最新资源。协商缓存则是浏览器本地每次都向服务器发起请求,由服务器来告诉浏览器是从缓存里拿资源还是返回最新资源给浏览器使用。

2023-10-10 14:34:13 554

原创 js中进行数字,超大金额(千位符)格式化处理

最近遇到一个需求,对于社区里讨论的帖子展示一个访问量的计数显示问题,当超过多少页面访问量时,就让其显示xxx万,xx亿对于后台返回该字段的数据类型是number,需要进行格式化数字的输出下面就一起来看看怎么处理的本文主要记录了一下使用js进行超大数字,金额显示处理,以及日期时间格式化处理的问题,对于这种常用工具类函数,可以自行收集起来的。

2023-10-10 14:30:45 538

原创 Node.js 实现抢票小工具&短信通知提醒

其实可以在此基础上还能添加更多功能,比如直接抓取登录接口获取cookie,指定路线抢票,还有错误处理啊啥的值得注意的是,请求接口不能太频繁,最好控制在5秒一次的频率,不然会给别人造成困扰,也容易被ip拉黑如果想把它做成一个完整的项目,建议使用ts加持 ,关于ts我推荐阅读这篇JD前端写的文章希望各位能有所收获。

2023-10-10 14:17:56 1638

原创 写爬虫?前端er何必用python

简单点,字面意思,爬虫就是用来爬取数据(文本、图片、视频等等)的代码脚本;在第一次听爬虫的时候,感觉这个词碉堡了,学会了一定很酷!这也是我以前入坑python的主要原因。但搜索下科普文章/百科等等,还是有点云里雾里的感觉。其实我觉得了解一个概念从实际的需求出发更加容易理解,毕竟概念是人造的,没有概念前呢?对于爬虫任务,只要抓住本质需求,掌握分析的套路,用什么实现都可以。

2023-10-10 13:56:33 334

原创 ES7、ES8、ES9、ES10、ES11、ES12都增加了哪些新特性?

includes()方法用来判断一个数组或字符串中是否包含一个指定的值如果包含返回true,否则返回false。是async声明的函数,async函数是构造函数的实例,其中允许使用await关键字。如果你想要添加新的属性,并且在上一行已经使用了尾后逗号,你可以仅仅添加新的一行,而不需要修改上一行padStart()用另一个字符串填充当前字符串。padEnd() 方法会用一个字符串填充当前字符串(如果需要的话则重复填充)。在Promise结束的时候,不管是结果是resolved还是rejected,都会调用。

2023-10-10 09:27:05 94

原创 路由的两种模式:hash模式和 history模式

属性指向 History 对象,它表示当前窗口的浏览历史。当发生改变时,只会改变页面的路径,不会刷新页面。History 对象保存了当前窗口访问过的所有页面网址。通过 history.length 可以得出当前窗口一共访问过几个网址。由于安全原因,浏览器不允许脚本读取这些地址,但是允许在地址之间导航。浏览器工具栏的“前进”和“后退”按钮,其实就是对 History 对象进行操作。

2023-10-08 14:25:42 398

原创 20 个超级有用的 JavaScript 技巧,让你的工作更轻松

| 仅当左侧为空或 NaN 或 null 或 undefined 或 false 时,如果左侧操作数为假,则将返回右侧操作数,逻辑或运算符 ( || ) 将返回右侧的值。如果我们想根据不同的类型调用不同的方法,我们可以使用多个 else if 语句或开关,但是还有比这更好的简化技巧吗?在其他语言中,此功能被制成可以在数组上调用的方法或函数,但在 JavaScript 中,你必须自己做一些工作。

2023-10-08 14:21:44 74

原创 vue的几个提效技巧

也就是说,假设总计50条数据,即使经过v-if以后,只剩下25条显示,但是v-for早就循环了一遍50条数据,解决办法就是用一个计算属性先将数据过滤了以后,v-for循环过滤了之后的数据。当这个页面没有数据更新,或者是想保存状态,下次进来还是这样子的时候,例如淘宝查看列表页,点进去查看详情之后,返回列表页依旧到上次浏览到的地方,都可以使用。的值和父组件的index都要拿的情况,但是按照之前的写法,只能拿到其中一个的值,要么子组件,要么父组件,鱼和熊掌不可兼得。用来拿取路由传值的信息,比如路由的后缀?

2023-10-07 10:29:37 95

原创 作为前端应该了解的后端常识

服务端,又称后端、server 端前端是用户可见、可操作的部分,如树枝树叶服务端为前端提供 “支撑”和 “营养”,如树根狭义:网页广义:各种客户端,如 App、PC 客户端等。

2023-10-07 10:16:18 85

原创 13 个前端可能用得上的 CSS技巧

修改输入占位符样式、多行文本溢出、隐藏滚动条、修改光标颜色、水平和垂直居中。多么熟悉的场景!前端开发者几乎每天都会和它们打交道,本文收集 13 个CSS技巧,一起来来温故一下吧。是否经常遇到图片底部多出 间距的问题?不着急,有4种方法可以解决。在现在前端中,CSS有一个单位是 ,将元素高度样式设置为 这个是表单输入框占位符属性,如何来修改默认样式,如下:4. 使用 选择器除了最后一个元素之外的所有元素都需要一些样式,使用 选择器可以非常容易实现。例如实现一个列表,最后一个元素不需要下划线,如下:

2023-10-07 10:12:54 81

原创 pinyin-match选择器拼音快速检索目标

pinyin-match选择器拼音快速检索目标。

2023-09-26 09:16:02 656

原创 http-server的安装、前端使用http-server启本地服务

是一个简单的零配置的命令行http服务器,它足够强大便于生产和使用,用于本地测试和开发。有时候我们打开一个文档使用file协议打开的时候,不能发送ajax请求,只能使用http协议才能请求资源,具体的区别大家可以去参考[这篇文档] (),所以此时我们需要在本地建立一个http服务,通过IP加端口号,来访问资源。我一般的做法就是通过vscode的插件或者通过webstorm来打开,现在可以通过来便捷的创建一个本地服务。

2023-09-18 10:09:47 2446 1

原创 如何优化Vue template 中的大量条件选择v-if

的使用,在工厂组件中注册所有的component组件,根据传入的 condition 知道具体生产哪个component,并使用 :is 进行页面渲染。在实际项目中,通常会遇到存在大量的业务条件选择的场景,这种情况下如果使用大量的"v-if"和"v-else"指令,会造成。都需要遍历并计算这些条件,尤其是在条件选择复杂且计算开销较大时,会导致初始渲染的耗时增加,从而延长页面的加载时间。时,由于每个条件判断都是独立的,修改其中一个条件可能需要修改多个地方,增加了出错的可能性,并使维护变得复杂。

2023-09-18 09:48:29 762

原创 Vue3为什么推荐使用ref而不是reactive

reactive本身具有很大局限性导致使用过程需要额外注意,如果忽视这些问题将对开发造成不小的麻烦;ref更像是vue2时代option api的data的替代,可以存放任何数据类型,而reactive声明的数据类型只能是对象;先抛出结论,再详细说原因:非必要不用reactive!(官方文档也有对应的推荐)官方原文:建议使用ref()作为声明响应式状态的主要 API。

2023-09-18 09:32:34 685

原创 做项目必读的vue3基础知识

全局自定义指令在main.js中定义局部自定义指令在当前组件中定义// main.jsel.focus()})

2023-09-14 16:38:25 220

原创 JavaScript 中有趣的 9 个常用编码套路

时,你可以将参数括在大括号中,这样可以在控制台输出时同时显示变量的名称和值。😩以至于程序崩溃无法运行。常规情况下,我们想要筛选唯一值,一般会想到遍历数组然后逐个对比,或者使用成熟的库比如。不过,我这里要介绍一种更简单的方法来改变数组长度,我喜欢它的原因是它非常直观且易读。条件判断是代码过程中最常用的,几乎在任何情况下,我们都会快速地敲下它来控制逻辑流程。这样一来,我们就可以更简洁地列出可选值,而不必写一长串的条件判断语句。将浮点数直接截断为整数。语句来检查是可接受的类型,但它会让我们的代码非常臃肿。

2023-08-22 13:49:00 195

原创 iview默认样式覆盖

scoped属性是 HTML5 中的新属性。当style标签拥有scoped属性时,它的css样式只能用于当前的Vue组件,可以使组件的样式不相互污染。如果一个项目的所有style标签都加上了scoped属性,相当于实现了样式的模块化。

2023-08-14 16:04:13 345

原创 element-ui表格跨页多选实现

未来想做的还有很多利用提升单页大量数据的渲染效率提供默认选中项的配置。

2023-08-10 16:38:12 2294

原创 Node.js之express框架学习心得

Node.js是基于Chrome V8引擎构建的JavaScript运行时,它采用了完全不同的开发模型。Node.js使用事件驱动和非阻塞I/O的方式处理请求,通过单线程和异步机制,实现高效的并发处理。这意味着在Node.js中,一个线程可以处理数千个并发连接,大大提高了服务器的性能和可伸缩性。先匹配普通中间件,有next()才会继续向下匹配。

2023-08-01 10:32:22 876

原创 ES6之Symbol:让你的代码变得独一无二

要学习一个新的东西我们首先要了解它出现的原因以及作用,这样才能彻底的掌握它。在ES5中对象的属性名都是字符串,这样很容易造成属性名的冲突,从而出现后面的值覆盖前面的值的情况。比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法,新方法的名字就有可能与现有方法产生冲突。如果有一种机制保证每个属性的名字都是独一无二的就好了,这样就从根本上防止了属性名的冲突,这就是ES6引入Symbold的原因!Symbol是一种新的原始数据类型,表示独一无二的值。

2023-07-24 14:17:12 99

原创 你的代码不堪一击!太烂了!

小王,你的页面白屏了,赶快修复一下。小王排查后发现是服务端传回来的数据格式不对导致,无数据时传回来不是[]而是null, 从而导致forEach方法报错导致白屏,于是告诉测试,这是服务端的错误导致,要让服务端来修改,结果测试来了一句:“服务端返回数据格式错误也不能白屏!!” “好吧,千错万错都是前端的错。” 小王抱怨着把白屏修复了。刚过不久,老李喊道:“小王,你的组件又渲染不出来了。” 小王不耐烦地过来去看了一下,“你这个属性data格式不对,要数组,你传个对象干嘛呢。”老李反驳: “ 就算data。

2023-07-24 14:12:56 79

原创 前端async await使用方法

程序员提升,逃不过的一个话题就是代码的执行效率,后端如此,前端也是如此,所以async/await异步开发就是大家提升自己代码效率的一个重要知识点,Python如此,JS亦如此,那么我们今天基于JS聊聊async/await异步编程。

2023-07-20 16:41:56 341

原创 十个高阶Javascript知识及用法

纯函数可以更容易地进行单元测试和调试,并且可以更好地支持函数式编程的概念。Reflect 是一种对象反射机制,它提供了一系列操作对象的方法,并且可以用来替代一些原来只能通过 Object 上的方法来实现的功能。高阶函数是指接受一个或多个函数作为参数,并/或者返回一个函数的函数。这种技巧可以用于将函数组合起来,实现函数的复用。柯里化是指将一个接受多个参数的函数转换为一个接受一个参数的函数序列的技巧。函数组合是指将多个函数组合成一个函数的技巧。这种技巧可以用于将多个函数的输出传递给下一个函数,实现函数的复用。

2023-07-18 13:54:59 124

原创 10分钟教你入门 Nginx

Nginx是一款轻量级的Web服务器、反向代理服务器设计思想类似 NodeJS,基于事件驱动的异步非阻塞处理由于它的内存占用少,启动极快,高并发能力强,时常用于服务端的和。:负责处理和响应用户请求,一般也称为http服务器,如 Apache、IIS、Nginx:存放和运行系统程序的服务器,负责处理程序中的业务逻辑,如 Tomcat、Weblogic、Jboss(现在大多数应用服务器也包含了web服务器的功能)

2023-07-18 13:45:33 115

原创 nodejs写增删改查

以上示例代码使用Express框架和Mongoose库来创建一个服务端应用程序,实现了增删改查的功能。具体的操作可以通过访问相应的API端点来执行。请注意要提前安装相关的依赖包:Express、body-parser(用于解析请求体数据)和mongoose(用于链接MongoDB数据库)。

2023-07-14 15:32:54 325

原创 web前端性能优化

web前端性能优化,老生常谈的话题,也是每个企业每个项目最为关心的问题。为了使用户体验达到极致,我们不得不为每一个细节深思琢磨,尽可能达到我们想要的方案。面试中我们也常常被问到性能优化的问题,如果胡乱穿插一些优化方案,面试官会感觉没有条理性,我们也回答的没有拿捏感,所有我们更应该有思路、有条理的叙述出一个前端性能优化相对完整的流程这便文章我将以几个大方向总结性能优化思路也是从浏览器 -〉资源 -〉图片 -〉代码层面来讲解。

2023-07-07 10:09:28 740

原创 css文字超出元素省略,单行、多行省略

效果图:通用CSS。

2023-07-04 13:42:46 1163

原创 JS中数组22种常用API总结

本文介绍了前端中数组常用的 API,涵盖了添加、删除、截取、合并、转换等常见操作。熟练掌握这些方法可以提高一定的开发效率。在实际开发中,请根据具体需求选择适合的数组方法。

2023-06-28 10:07:47 760

原创 推荐16个前端必备的实用工具与网站

组件种类全面、效果也很棒。是一个完全免费并且高压缩率的在线压缩图片网站,一般能满足日常大部分压缩图片的需求,如果你需要压缩大于5M的图片,可以考虑用。简历这个东西找工作大家都是要用到的,网上也有很多免费的简历模板网站,个人推荐这个500丁网站,上面有很多好看的简历模板,很方便。ps:这个网站是收费的,不过永久会员39.9还行,不用担心过期,毕竟用到不止一次(如果实在不想花39.9,可以找我要下哈~)等,但是我觉得掘金的码上掘金也挺好用的,并且登录自己的掘金账号就能看到,挺方便的。

2023-06-28 09:56:38 322

原创 Vuex的用法你了解吗?

通过实现简单的vuex,完成基本的功能,对vuex有了不同的理解,但在vuex的源码方面,上面的demo只是简简单单做了大致的依赖关系整理,还有:不具备模块化功能、没有提供插件功能、没有提供严格模式、没有提供辅助函数和实现单例模式等等的实现。

2023-06-27 15:25:49 263

原创 50个知识点由浅入深掌握Javascript

匿名函数也叫一次性函数,没用名字,且在定义时执行,且执行一次,不存在预解析(函数内部执行的时候会发生)。... }());除此之外,还有常见的以下写法console . log('我是一个匿名函数') })();console . log('我是一个匿名函数') }() // 使用多种运算符开头,一般是用!!console . log('我是一个匿名函数') }();匿名函数的作用有:(1)对项目的初始化,页面加载时调用,保证页面有效的写入Js,不会造成全局变量污染(2)防止外部命名空间污染。

2023-06-27 11:18:37 271

原创 JavaScript 必须学会的11 个工具方法

前俩天也是更新了俩篇的文章,当时由于时间问题,所以就是想到哪里写到哪里,因为对于技术文章只有三五句,几分钟就阅读完,属实无趣,这次趁着周六日有时间好好整理下,尽可量多写一些,下面有具体实现,还有详细注释。

2023-06-27 11:09:08 87

原创 抓包技术的应用示例

最近瑞幸在搞活动,每天免费送10000份咖啡,我是个不喝咖啡的人儿,所以没咋关注,今早我们的团宠小妹,拉着我 10点整拼手速,想着帮她抢一杯,于是点开瑞幸咖啡小程序主页,banner 栏轮播图中有一张海报入口,操作一通下来,果然,没抢到。手速不够快不是主要原因,手指操作延迟 + 系统页面跳转耗时加起来到 http 发出就已经耽误了1 -2 秒钟了,这个时间才是关键,本文从技术角度探讨下怎么在最小成本比如几分钟内,实现一个小工具,来解决这个问题。

2023-06-25 17:25:10 650

原创 前端实现pdf,图片,word文件预览

需求:实现一个在线预览pdf、excel、word、图片等文件的功能。介绍:支持pdf、xlsx、docx、jpg、png、jpeg。以下使用Vue3代码实现所有功能,建议以下的预览文件标签可以在外层包裹一层弹窗。

2023-06-25 08:54:24 2884

学习如何使用echars

学习如何使用echars

2022-04-06

空空如也

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

TA关注的人

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