自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 js编写once函数

【代码】js编写once函数。

2023-01-03 13:37:13 728 1

原创 js05通过函数组合解决数字翻转问题,并使用jest测试

问题:把整数12345转换为54321。步骤。

2022-11-04 15:39:42 632

原创 js04自定义方法检测js中的假值

基本数据类型的真假很好判断,通过!或者Boolean()都可以判断,但是引用类型,比如[],{}这两个用前面的方法判断的话,结果会为true,这不是我想要的,所以写了一个方法判断这些数据的真假。首先我觉得在我的工作中可以被定为假值的数据有以下这几个。对象是通过对象属性形成的数组的长度判断的。数组是通过数组的长度来进行判断的。

2022-11-02 17:14:49 293

原创 js03模拟lodash中的memoize函数

Lodash中memoize函数可以对一个函数进行缓存,返回一个被缓存过的函数,然后这个函数就只能被执行一次。模拟momeize函数。

2022-11-02 15:26:19 285

原创 js02之如何把一个函数变为柯里化函数和通过高阶函数解决add(1)(2,3)(4)和add(1)(2)(3,4)()问题

在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术。柯里化_百度百科。

2022-11-02 13:52:09 158

原创 js01之高阶函数与部分数组方法的实现

一个函数中有的参数是函数,或者返回值是函数,这样的函数就是高阶函数。下面这个例子中的fn就是高阶函数console.log('我是fn的参数');}}我们平常使用的高阶函数有哪些呢?其实有很多高阶函数,比如数组中的方法forEach,map,every,some等等都是高阶函数。我们自己来写一下这几个函数的实现因为每一个数组都可以调用这些方法,所以这些方法写在原型上是最好的。

2022-10-30 21:16:02 89

原创 antd form如何通过一个字段控制另一个字段是否为必填

最近遇到一个小的需求,当用户讲一个Switch的按钮选择为yes的时候,对应的一个InputNumber组件就要为必填,同时还要检验InputNumber是否填写了数据,如果Switch为No,则对应的InputNumber组件要禁用。

2022-09-27 15:12:14 2387

原创 02Node自定义脚手架前置内容之创建全局的自定义命令

!/usr/bin/env就是让系统使用node来执行你的脚本文件。2.1安装commander库2.2使用commander提供的方法//commander插件,用于解析命令行参数//当在终端使用 ymz -s 或者 ymz --save时会显示save something//这个方法就是添加帮助项,表示传递的参数,使用时应该这样使用 ymz -s xxxx 或者 ymz --save xxxx。

2022-08-22 18:06:38 814

原创 javascrip数据结构与算法day01正整数10进制转为二进制

给定一个函数fn,传入一个参数,参数是正整数且是十进制的数,要求将这个十进制的数转为二进制的数。

2022-08-22 13:54:16 270

原创 JavaScript数据结构与算法day01斐波那契数列

今天学习了新的方法解决菲波那切数列,一般我们会通过递归的方式解决这个问题,但是我们知道递归应该谨慎使用,因为它非常容易造成Stack Overflow,并且如果通过当数据量变得大了之后,递归的速度也显得非常慢。所以今天我写了两种解决办法,一种是递归,另一种是O(n)的算法。递归使用1072ms,for循环使用了0.0058ms。开始,后面的每一项数字都是前面两项数字的和。表示)形成的序列称为。

2022-08-22 11:38:09 347

原创 01Node.js的fs模块

Node.js提供了fs模块可以让我们对电脑上的文件进行操作,今天就来了解一下fs关于文件操作的几个简单的api。

2022-08-19 15:56:41 185

原创 react18组件中props没有children属性可用改如何解决

今天自己新搭建了一个react demo项目,写代码的过程中需要用到props.children属性,结果提示我说props上没有children这个属性,我点击去一看,新的react把props默认设置为一个空对象了。定义一个Iprops的interface,指定children属性,因为children是可有可无的,所以设置为可选属性,类型为React.ReactNode,这样子类型检测就可以通过了。其实,我们可以用typescript提供的interface来限定props的属性。...

2022-08-17 17:53:41 3202

原创 如何理解useEffect的依赖项为引用?

2.当有依赖项时,如果点击一次按钮,fn就会被调用一次,useEffect会对比前后两次的count,因为count我们定义的是基本类型,所以就是判断值相不相等。2.代码从上到下执行,fn被重新定义了一遍,此时的fn不再是一开始的fn,所以第一次的fn和第二次的fn不是同一个fn,useEffect中的副作用函数被再次调用。使用useCallback这个hook,useCallback是当某个依赖改变时,返回一个函数,在依赖没有改变时,useCallback会缓存第一次返回的函数。...

2022-08-17 15:49:55 1039

原创 react中如何通过@font-face使用其它字体

工作的时候,用户可能不喜欢浏览器默认的字体,想要选用其它的字体,这时候我们如何去完成这个需求呢?1.css中的@font-face属性。然后给你需要的内容添加上样式。2.客户需要的字体文件。

2022-08-17 13:23:26 938

原创 后端传给前端图片的url,react使用JSZip库批量下载图片

最近项目中有个需求就是可以让用户选择图片下载为zip。在网上搜索了资料发现jszip这个库可以解决这个需求。首先我们需要先下载这个库

2022-08-10 13:28:10 1042

原创 将图片url转为base64的方法

通常我们会使用canvas提供的toDataURL方法。如何把后端传给前端的图片的url转为base64。

2022-08-08 17:09:28 8367

原创 ant design Form.Item如何在输入一个字段值时校验另一个字段是否符合规则

ant design Form.Item,form.list如何在输入一个字段值时校验另一个字段是否符合规则

2022-08-04 11:10:41 2633

原创 And Design InputNumber组件中如果输入框的值为null,如何默认为指定值

这个是官网提供的代码,当我们删除InputNumber框内的值,然后InputNumber中的光标失焦后,输入框内的值没有变为0,这不是我们期待的结果。AndDesignInputNumber组件中如果输入框的值为null,如何默认为指定值。下面我们只需要添加一句代码就可以完成这个功能,代码如下。...

2022-07-28 09:18:16 1064

原创 react中使用useContextAPI的方法

react中使用useContextAPI的方法

2022-07-24 12:32:25 295

原创 玩转JavaScript数组方法之forEach

今天我们来看看一个JavaScript中关于数组遍历方法之一的forEach方法。一在网上查forEach有啥特点,回答的内容大多的如下诚然这些是对的,但是为什么呢?这就比较少讲了。今天我们参考了MDN中关于forEach的代码,来看看这是为什么。forEach中之所以有最前面说的那些限制是因为用户的回调函数是在一个while循环中执行的。请看下面的代码。ff就相当于forEach,fn就相当于forEach中的回调函数,一个循环产生了多个callback函数调用,如果用户在callback中使

2022-06-21 15:45:05 389

原创 判断奇数和偶数不常见的方法

JavaScript通过&判断奇数偶数。

2022-06-21 10:35:29 1686

原创 ant design Select组件中option内容太长

如何解决当Select组件的大小是固定的,但是option中文本内容太长了,导致页面不美观的问题?ant design 官网给了我们一个dropdownStyle的属性使用:你可以在这个属性中写css样式来设置option的样式<Select options={...options} dropdownStyle={{textOverflow:'ellipsis',width:"100px"}}> </Select>//这里width的宽度设置跟Se..

2022-05-24 09:43:16 4293

原创 Node.js用fs模块完成复制文件(视频)的脚本

const path = require('path');const fs = require('fs');// console.log(process.argv);//process是一个全局对象//process.argv可以拿到我们执行node命令时传递的参数,argv是一个数组//复制文件的开始路径const fromPath = process.argv[2];//复制文件的目标路径const toPath = process.argv[3];const copyFile .

2022-05-06 22:53:14 607

原创 将Input组件的字母从小写变为大写后MaxLength属性失效的解决方案

最近遇到了一个很奇怪的问题,要求是将Input和TextArea组件中的输入的小写英文字母变成大写英文字母,因为我用的是公司对antd某些组件进行二次封装后的组件,所以我不太清楚他的内部逻辑是什么,但是测试在测功能时找到了这个bug如图我再添加rules属性,发现还是不能限制文本框中的字符个数,这是我切换成了中文输入法乱输入的结果。我觉得应该form给文本框赋值的时候出的问题,即便我用了原生的input框和js代码完成这个功能还是没有办法限制字符个数原生的代码和效果但是我在网..

2022-05-06 14:42:44 566

原创 Webpack打包css文件的背景图路径错误以及多生成了图片

module.exports = { entry:'.src/index.js', output:{ filename:'main.js', path:path.resolve(__dirname,'dist') }, module:{ rules:[ { test:/\.webp$/, use:[{ .

2022-05-01 14:49:19 1051 2

原创 Typescript之接口(Interface)

我们可以通过Interface关键字来定义限制数据的类型。1.给对象定义类型/** * 定义一种类型,名称叫做PersonInfo,里面有三个属性 * @name 人物的名字,类型为string * @age 人物的年龄,类型为number * @say 人物的方法,类型为函数类型,函数传递一个参数,参数类型为string,返回值类型为void */interface PersonInfo{ name:string, age:number say:(content:st..

2022-04-23 18:46:58 3855

原创 TypeScript数据类型之枚举(Enum)

enum Week{ MON, TUE, WED, THU, FRI, STA, SUN}枚举类型的数据的值默认是从0开始,依次增加1的,输出看看:我们也可以直接修改每个变量对应的数值enum Week{ MON, TUE, WED = 4, THU, FRI = 5, STA, SUN}再看看输出的值可以知道枚举中每个变量的值是根据前一个变量的数值+1得..

2022-04-18 17:11:25 1453

原创 useRef创建的对象存在react整个生命周期当中

import React,{useRef, useState} from 'react'/** * * @returns useRef创建的对象存在于整个生命周期中,每次返回的都是都一个对象 */export default function Test() { const [count,setCount] = useState(0); const uRef = useRef(0); const reactRef = React.createRef(0); if(!uRef.c.

2022-04-07 10:32:52 1001

原创 如何去除在使用moment.js产生的日期格式警告?

警告:Deprecation warning: value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http:

2022-03-31 10:25:07 3670 1

原创 数据结构(JAVA)之单向队列(数组实现)

队列是一种线性结构,除了第一个元素和最后一个元素的其它元素外都有唯一的前驱和唯一的后继。图解单向队列,完成一个队列需要4个属性值:maxSize,front,rear,array。maxSize表示队列中可以存储最多的元素的个数,假设maxSize=4,array是存储数据的数组,front表示队列的头部,rear表示队列最后一个元素的下一个位置,一开始队列中是没有值的,所以我们让rear=front=0,此时表示队列为空。当我们向队列中添加一个元素时:rear++,此时front = 0,

2022-03-09 14:02:30 553

原创 antDesign 自定义一个loading组件

自定义loading组件

2022-03-07 14:17:15 1474

原创 自定义DatePicker组件中星期显示的格式

在官网拿来的DatePicker的显示如下如何让这个组件从Mon开始显示//导入需要的模块import locale from 'antd/lib/date-picker/locale/en_US';//函数组件中的代码useEffect(()=>{moment.updateLocale('en', { week: { dow: 7 }, weekdaysMin: 'Mon_Tue_Wen_Thr_Fri_Sat_Sun'.split('_'

2022-03-02 16:52:03 716

原创 antd关于select组件数据回显动态选中子项的使用。

antd中关于select组件(下拉框)中动态选中子项的使用方法。

2022-02-07 17:46:27 3112

原创 js对象如何通过变量读取属性

先看看js读取属性的常见的方法。1.通过.的方式读取let obj = { name:"javascript", price:20000}console.log(obj.name,obj.price)2.通过[变量名]的方式读取let obj = { name:"javascript", price:20000}console.log(obj['name'],obj['price'])如果有这样一段代码,输出结果会是什么呢?let a = 'namel

2022-02-07 11:32:05 3996

原创 antDesign中Input等输入类组件将输入的英文内容转为大写。

antd中Form组件的setFieldsValue方法的使用。

2022-02-07 11:07:28 1306

原创 react自定义TextArea组件,不被拉伸

antDesign中富文本框禁止拉伸!

2022-01-30 11:38:10 1681

原创 封装一个自己的Input组件,Input的文本全部变成大写。

自定义一个Input组件,将输入的英文字母全部大写

2022-01-30 11:16:10 914

原创 JavaScript中表示假的值有哪些?

如何知道js中表示假的值有哪些,我们只需要通过一个常见的函数Booealn()就可以解决了。常见的假值有:1. 02. NAN3. ""或者是''4. null5. undefined[]和{}都是表示的真值结果如下

2022-01-29 12:01:17 783

原创 js中的两次取反操作的理解

在工作中你经常会看到别人的代码长成下面这样function fn() { return !!(xxx)//xxx表示一个数据而已,可以是任意类型数据,比如123,'aa'等等}这里的return !!(xxx)到底是什么意思呢?js中!表示取反的意思,!后会得到一个布尔值。比如:!1的结果就是false,!''就是true。console.log(!1)console.log(!!1)结果如下:我们为了得到一个布尔值会一个变量进行取反,但是取了反后得到的结果是与原来的

2022-01-29 11:39:03 4130

原创 js的可选链操作符的介绍与使用

js的可选链操作符的讲解。

2022-01-29 10:46:20 1032

空空如也

空空如也

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

TA关注的人

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