自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 js实用小技巧

今天在书上看到了一些关于js编码的技巧,挑选了几个实用的和大家分享。1、条件判断 //基操 if(a == undefined) a = []; if(params.success){ params.success(res); } //高级 a = a || []; params.success && params.success(res);2、多条件判断(switch) //基操 var One = function(arg){ consol

2020-12-16 17:19:24 120

原创 为你的vscode换个字体

正所谓,工欲善其事,必先利其器!作为一个程序员,如果能将自己的编辑器配置得令自己赏心悦目的话,岂不是事半功倍?今天介绍的是在windows环境下给Vs code换字体的方法,这里以Fira和Operator Mono两种字体为例。要想换其他的字体,方法和下面的步骤是一样的)1、 想要能用,必先要有。没有就安装,小伙伴们可以在我的gitHub上下载,都为各位打包好了,一键下载,一条龙服务,详细安装字体的步骤见里面的README.md文件。各位也可以去Fira和Operator Mono字体的官方githu

2020-12-01 19:43:53 626

原创 函数柯里化js

上次实现bind函数的时候,接触到了函数柯里化这个概念,听起来就很高大上,所以我立马就扎进各位大佬的博客里学习了一番,但由于我的理解能力确实八太行,所以我看完之后直接一头雾水。一、柯里化 ?_?百度的结果:在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术。我第一次看这概念的时候感觉不难,但是一细品,又不敢说完全理解了(N_N)。所以,我们举个栗子先:二、柯里化通用式我们可以

2020-11-30 21:06:15 87 1

原创 手写Js函数-call & apply

一、call & apply我们先举个栗子看下call和apply的作用: //全局变量name name='window\'s name' let obj = { name:'XDD' } function fun(a,b){ console.log(this.name) console.log(a+b) } fun(1,2) //此时this是window,output: window's name 3 fun.call(obj,1,2)

2020-11-27 15:36:44 260

原创 vscode 快捷创建代码片段

有一次看见某个视频,只见人家老师就打了个vue并敲了下回车,vscode里就生成了vue的模板代码。当时的我还以为是什么魔法,就很low地回放了两遍(哈哈)。当然,某位大能曾经说过,计算机没有黑魔法,所以我就去问了问百度。结果,这原来是vscode自带的一个功能,叫用户自定义代码片段(snippets)一、不多哔哔,直奔主题。1、 打开vscode,点开左下角的设置找到‘用户代码片段’,或者左上角‘文件–首选项–用户代码片段’也是欧克滴。2、选择 新建全局代码片段文件然后在输入框中为这个片段取个名字

2020-11-24 22:01:52 1433

原创 手写实现Ajax-2020

一、什么是Ajax?

2020-11-14 16:37:27 127

原创 Js事件循环(Event Loop)

一、什么是js中的事件循环js是一门单线程的非阻塞的语言,当js引擎遇到一个异步事件后并不会一直等待其返回结果,而是会将这个事件挂起,继续执行执行栈中的其他任务。当一个异步事件返回结果后,js会将这个事件加入与当前执行栈不同的另一个队列,我们称之为事件队列。被放入事件队列中的任务并不会立即执行,等到当前执行栈中的所有任务都执行完毕后,主线程才会依次执行任务队列中的任务。如此循环往复,直至所有的代码都执行完毕。这就是js中的事件循环 机制。如下图所示。图中的Web API我们可以理解为一些异步事件,任务队

2020-11-12 11:23:32 368 1

原创 发布订阅模式(Js)

一、什么是发布订阅模式?发布订阅模式中,可以有多个订阅者,但却只能有一个发布者。当发布者发布某一新消息时,所有的订阅者都可以接收到该消息。具体实现过程可大致分为:订阅者先在事件调度中心里注册事件(想订阅的内容)和回调函数发布者将具体事件发送到事件调度中心来触发相关事件事件调度中心处理相应的回调函数并将结果发送给对应的订阅者为了方便理解,我们举个栗子: aDiv.addEventListener('click',function(){ console.log('一个朴实无华的div

2020-11-07 00:58:31 323

原创 Js实现 防抖&节流函数

一、防抖与节流的联系与区别:防抖和节流的作用都是防止某个函数多次调用。他们的区别在于:假设用户一直触发某个函数,且每次触发函数的间隔小于设置的时间,防抖的情况下只会调用一次这个函数,而节流的情况下会每隔一定时间调用一次函数这个函数。二、防抖函数的实现我们采用定时器来实现延迟执行传入函数的功能。function deBounce(fn,delayTime){ let timer = null; return function(){ //确保返回函数中的this指向不变 let that

2020-11-03 22:27:58 282

原创 手写实现bind()函数

一、分析bind函数有哪些特性改变调用者的this指向(使用 new 时该功能无效)能接受参数返回的是一个函数二、代码实现知道了以上三点,我们就可以试着来实现一个bind()函数了Function.prototype.myBind = function(newThis){ //此处的this指向的是调用myBind的函数,所以我们先判断下调用者 //是不是一个函数,如果不是,我们就抛出一个错误提示 if(typeof this !== 'function'){

2020-11-02 22:20:36 533

空空如也

空空如也

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

TA关注的人

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