自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 解决js鼠标单击事件与双击事件冲突方法

事件冲突的原因:对于同一个DOM元素,即绑定了单击事件,又绑定了双击事件,当我们单击鼠标时,会触发单击事件;双击鼠标时,不仅会触发双击事件,同时还会触发单击事件,而且单击事件一定会先于双击事件发生。这样,就产生了单击鼠标事件于双击鼠标事件冲突,那么,我们该怎么避免呢。解决冲突方法:主要思想是利用一个定时器。单击鼠标事件发生后,延迟一段时间再执行单击事件,如果在延迟的这段时间之内,若没有发生双...

2019-07-16 15:28:48 1662

原创 记一次shell脚本换行符的问题:syntax error near unexpected token `$‘do\r’‘

在windows操作系统上使用nodepad++编写shell脚本,运行正常。将写好的脚本放到linux环境上运行便报语法问题。经查阅,是windows与linux换行符差异所致。

2023-12-04 20:52:47 157

原创 浅谈hooks

某些情况下,我们发现框架本身提供的hooks无法满足我们的需求,那么我们就需要自定义hooks。以react框架而言,其本身包含的hooks有:useState、useEffect、useRef、useCallback、useMemo等。基于这些hooks,我们可以封装出符合特定场景下使用的hooks。当然,互联网行业巨头阿里已经帮我们完成了这件事,他们已经封装出了一套高质量的hooks——ahooks。这套hooks能涵盖我们日常开发的大多数场景。

2023-11-24 09:39:07 71 1

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

(1)是什么?观察者模式:观察者与被观察者直接通信,被观察者发生变化时,会直接通着观察者更新,即调用观察者的一些方法实现观察者的更新操作,是一种一对多的模式。/* 观察者模式 实现:被观察者和观察者分别由两个类表示。 被观察者类拥有添加观察者实例的方法以及通知观察者更新的方法, 观察者类拥有更新方法。**/function Subject () { this.observers = []; this.addOb = function

2021-12-19 11:51:23 290

原创 js三类类型检测手段

1、相同点:这三种方法都是用来进行类型判断的方法。2、区别(1)Object.prototype.toString.call 方法可以判断任何类型。当变量类型为对象类型时,可以直接判断,使用obj.toString();当变量类型为非对象类型时,需要使用Object.prototype.string.call进行判断。// 直接判断对象类型const a = {};console.log(a.toString()); // '[object Object]'/* 非对象类型使用toSt

2021-12-05 09:58:13 148

原创 防抖和节流

前端开发中常见的防抖和节流防抖和节流防抖实现节流实现总结:防抖和节流防抖和节流是前端开发工作中经常会出现的场景。防抖是指一些高频事件被多次触发后,只响应最后一次被触发的事件。如常见的输入框的远程搜索功能,当用户持续不断的输入需要远程搜索的内容时,如果每输入一次就触发一次远程搜索,会发送多个不必要的请求,更有甚者前面发的请求后返回而覆盖后面请求先返回的数据,导致搜索的内容有出入,因此,必须使用防抖解决。而节流是指高频触发事件被多次触发,只响应第一次触发的事件,后面继续触发的事件必须等到第一次事件触发结束后

2021-10-21 22:11:57 223

原创 js垃圾回收机制

1、是什么什么是垃圾回收机制?垃圾回收机制是指垃圾回收器在一定时间间隔内清除内存当中不再使用的变量,避免因变量持续存在不被释放而造成计算机内存泄漏。2、为什么为什么会有垃圾清除机制?类c语言,如c、c++需要开发者自己手动进行内存的分配以及释放,开发者可以直接控制内存。一方面是提高了程序的灵活度,但另一方面也会给开发者带来一定的心智负担。而js将内存的释放这步操作交给垃圾回收机制处理,使得开发者可以专注于代码逻辑的开发,而无需关注内存释放问题,减少了开发者的心智负担。3、实现方式垃圾回收机制主要分

2021-10-17 11:26:51 94

原创 2021-10-17

js到底有几种数据类型两大类基本数据类型(简单数据类型)引用数据类型(复杂数据类型)两大类基本数据类型(简单数据类型)js目前共有7中基本数据类型,检测基本数据类型时使用typeof操作符即可String ,字符串类型Number ,数据类型Boolean,布尔类型Null,空类型Undefined,未定义Symbol,唯一类型Bigint,大数类型引用数据类型(复杂数据类型)复杂数据类型总体上而言只有一种object,检测复杂数据类型时使用instance操作符即可1、Obj

2021-10-17 10:49:42 119

原创 JavaScript数组及字符串的一些基本算法

去除一个字符串两边的空格// 去除一个字符串两边的空格 function clearSpace (str) { console.log('输入的带空格的字符串是:', str) var strArr = str.split('') while (strArr[0] == ' ') { strArr.shift(strArr[0]) ...

2019-08-20 18:17:38 163

原创 javascrpit日期对象基本用法

获取日期对象:var date = new Date()获取年份:date.getFullYear()获取月份:date.getMonth() 注:月份为0~11,故需要加1获取日:date.getDate()输出日期的xxxx-xx-xx形式代码: var date = new Date() // 获取日期对象 var year = date.getFullYear()...

2019-08-20 15:08:11 208

原创 js创建、添加、插入、删除dom元素

创建:document.creatElement(domName)添加:obj.append(newDom)插入:parentDom.insertBefore(newDom, oldChildDom)删除:obj.remove(childDom)<!DOCTYPE html><html lang="en"><head> <meta cha...

2019-08-20 12:13:11 2566

原创 js浅拷贝和深拷贝

深拷贝和浅拷贝问题的来由这个问题归根到底还得从js的数据存出方式说起,js大体上分为两种数据类型,简单数据类型和复杂数据类型。简单数据类型因为其大小固定,故存储在栈内存中,可以直接访问;而复杂数据类型大小可变,故存储在堆内存中,然后再在栈内存当中存储一个指向堆内存的那块存储区域的地址,当我们要访问这个复杂数据类型的时候,我们就根据栈内存的地址找到堆内存中的它访问,即通过栈内存中的指针间接访问。...

2019-08-19 18:13:08 81

转载 css的px、em、rem

px表示物理像素,设置字体和大小时,比较稳定和精确;确定是不能适应浏览器缩放时候产生的变化,不用于响应式网站;另外,px是你屏幕设备物理上能显示出的最小的一个点,这个点不是固定宽度的,不同设备上点的长宽、比例有可能会不同。假设:你现在用的显示器上1px宽=1毫米,但我用的显示器1px宽=两毫米,那么你定义一个div宽度为100px,你显示器上看这个div是10厘米,我显示器上看是20厘米。另...

2019-08-15 14:45:18 142

原创 css伪类和伪元素

伪类CSS 伪类用于向某些选择器添加特殊的效果。用单冒号表示。如:用于链接::link, :visited, :hover, :active, :focus用于列表或其他: :first-child, :last-child, :nth-child, :nth-last-child否定伪类: :not()例如(用于链接):<!DOCTYPE html><html ...

2019-08-14 16:20:28 78

原创 css的display和position属性

css的positon和display属性positon属性position:static;position:relative;position:absolute;position:fixed;position:inherit;display属性display:none;display:inline;display:block;display:inline-block;display:flex;f...

2019-08-13 17:21:59 1203

翻译 javascript闭包

1、变量作用域要理解闭包,首先要理解 JavasSript 的特殊的变量作用域。变量的作用域无非就两种:全局变量和局部变量。JavasSript 语言的特别之处就在于:函数内部可以直接读取全局变量,但是在函数外部无法读取函数内部的局部变量。注意点:在函数内部声明变量的时候,一定要使用 var 命令。否则,你实际上声明的是一个全局变量!2、如何从外部读取函数内部的局部变量?出于种种原因,...

2019-07-18 10:48:11 131

转载 网络基础及常见错误代码

网络基础:https://juejin.im/post/5b49f9fbf265da0f563dc9d8错误代码:https://blog.csdn.net/ningxinyu520/article/details/18217077

2019-07-18 10:05:10 158

空空如也

空空如也

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

TA关注的人

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