自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 http缓存过程

对于web四种缓存之一的浏览器缓存,之前一直只知道根据 浏览器是否向服务端发请求来确认是否使用缓存资源缓,浏览器缓存分 强制缓存 和 协商缓存 ,分别使用的字段前者是Expires和Cach-control,后者是 Etag 和 Last-modified ,但对于整个浏览器缓存过程是怎么样的 比较模糊,看了一些博客文章,和看书后算是弄懂了,精炼后总结如下:记录下来,方面以后回顾注:缓存一...

2019-06-16 12:55:40 297

原创 JS里slice,substring,substr方法参数传入负值时如何变化

JS里 slice,subString,substr方法参数传入负值时如何变化新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出...

2019-05-16 21:52:04 3580 4

原创 怎么理解JavaScript的单线程,异步,Event Loop,Promise的关系

理清JavaScript的异步和单线程,Event Loop的关系JS的单线程为什么JS是单线程的JS的异步:单线程的解决方案为什么要使用异步异步的实现机制---Event Loop事件轮询JS的promise:异步的解决方案JavaScript的三座大山:单线程与异步,原型与原型链(继承),作用域和闭包。接下来就其中的单线程与异步,和延扩涉及的事件轮询,谈谈我自己的理解,也算是做下总结,顺便...

2019-05-02 12:57:16 547

原创 Typescript学习记录之接口

1.接口:描述有属性的对象的形状 (可用于定义传递给函数的参数是对象时的形状)//

2019-07-26 01:08:10 142

原创 redux中间件之redux-thunk

最近在初学redux,也接着学了redux里的中间件。对于redux,本来 store.dispatch 只能派发的是一个对象给store。加了 redux 中间件后:其实是对 store.dispatch 方法做了升级;升级后可接收对象,也可接收函数,使得可处理异步代码了如果派发的的是对象,则中间件会直接传给store;如果派发的是函数的话,则会先执行这个函数注意:这里的中间件指的...

2019-07-03 23:57:28 165

原创 WeakMap的学习与应用场景

WeakMap 是什么?WeakMap 与 Map 类似,也是生成 键值对的组合,但是有区别:1.WeakMap 只能接受对象作为键名(不包括null)2.WeakMap 的键名所指向的对象是弱引用,不计入垃圾回收机制所以如果想向 对象添加数据又不想干扰垃圾回收机制,就可以用 WeakMap WeakMap 可用在它的键对应的对象可能在将来消息的场景,WeakMap 有助于防止内...

2019-06-23 16:41:55 2208 2

原创 WeakSet的学习,应用场景

WeakSet是什么?WeakSet 和 Set 类似,都是不重复的值的集合,但是和 Set 有两点不同:WeakSet 的成员只能是对象WeakSet 的对象都是弱引用即WeakSet 中对对象的引用不会被考虑进垃圾回收机制,即只要没有其他的对象引用该对象,则该对象就会被回收,而不管它在不在 WeakSet (由于这个特性,所以 WeakSet 适合临时存放一组对象和跟...

2019-06-22 20:42:59 1328

原创 call,bind,apply 方法的原理解析和原生JS模拟实现

call 方法内部实现将这个函数设为指定对象的属性传参后执行这个对象的方法删除这个函数返回对象的函数执行结果模拟实现Function.prototype.call2 = function(opp) { opp.fn = this; let args = [...arguments].slice(1); let result = opp.fn(.....

2019-06-21 23:44:24 218

原创 数组的几种遍历方法

1.for 循环for(var index = 0; index < myArray.length; index++){ console.log(myArray[index])}2.数组的内置 forEach方法缺点:无法中途跳出 forEach 循环, 哪怕是 break 命令或 return 命令也不行3 .for…in 可遍历数组的键名缺点:  数组的键...

2019-06-19 22:01:42 555

原创 ES5和ES6 实现继承方式

在ES5 中:通过原型链实现继承的,常见的继承方式是组合继承和寄生组合继承;在ES6中:通过Class来继承组合继承:结合了构造函数和原型链继承在子类构造函数中 调用父类构造函数,并通过 call 改变 this 的指向 ,继承了父类的属性通过 new 一个父类的实例作为子类构造函数的原型prototype ,原型链方式来继承父类的方法function Parent() { ...

2019-06-17 19:42:38 808

原创 cookie使用详解

cookie的特点:对于绑定好的域名,当向这个域名发起请求时,http头部都会包含 cookie 信息每个域的cookie的数量和占用的磁盘空间都是有限的(原因:cookie是存在客户端的,所以加入了这个限制,来确保cookie不会被恶意使用)cookie的组成cookie是由服务端添加在响应头 Set-cookie 里,它包括几块信息,这些信息以 分号和空格分隔开。cookie...

2019-06-17 09:52:56 669

原创 如何限制JS对象属性的配置

JavaScript里对象的属性是公开的,一般是不受保护的,即属性的修改/ 添加 / 添加不受限制,但是在一些应用情境下,又需要对对象的属性做一些限制。第一种情况:对属性的修改、增加、删除做限制Object.preventExtensions()限制了不能向对象中新添加属性和方法了但可以修改对象中存在的属性,也可以删除原有属性和方法Object.isExtensible():可以确...

2019-06-15 22:09:59 753

原创 Vue之生命周期

Vue里的概念—生命周期,是指一个vue组件从开始到消亡经历的各种状态,具体点来说就是组件从创建,到组件挂载到页面上运行,再到页面关闭组件被卸载经历的各种状态。在每个阶段,vue会自动调用相应的生命周期的钩子函数,所以当我们在某个钩子函数中挂载我们的自定义函数时,就会在相应的生命周期自动调用beforeCreate()vue实例还没初始化,vue实例挂载的元素和data数据都还没初始化,数...

2019-06-14 17:26:53 90

原创 package.json中 npm依赖包版本前的符号的意义

package.json中 npm依赖包版本前的符号的意义版本的格式major.minor.patch主版本号.次版本号.修补版本号————————————————————patch:修复bug,兼容老版本minor:新增功能,兼容老版本major:新的架构调整,不兼容老版本version必须匹配某个版本如:1.1.2,表示必须依赖1.1.2版1234567...

2019-06-09 21:23:06 187

原创 调试代码的思路

调试代码的思路 简单情况复杂一点总结下当代码出错时,我的解决思路,也参考了网上一些大神的意见的简单情况对于简单的报错信息利用调试工具的提示:xxxx行出现什么什么错误。则定位到提示的出错的位置检查代码简单情况下:直接报告 js 语法错误根据提示的语法错误进行修改复杂一点1.化繁为简:删除排除法表现:莫名的报错,不方便调试,单纯看代码看不出原因可能原因:JS脚本冲突,...

2019-06-08 17:13:02 238

原创 利用Fiddler 调试线上代码

利用Fiddler 调试线上代码 安装FiddlerFiddler 测试线上代码原理:将本地文件和线上文件映射首先将想要调试的文件下载到本地将本地文件和线上文件进行映射本地修改代码注意:可能会出现Fiddler 关闭后没法打开网页的情况原因解决方法安装Fiddler下载和安装Fiddler很简单https://www.telerik.com/download/fiddler 下载之后按照向导...

2019-06-07 16:11:02 229

原创 简单使用Chrome的开发者工具调试JS代码

简单使用Chrome调试JS代码调试区 Sources 面板打断点调试源代码条件断点各种情况下的断点格式化被压缩的JS代码打印某个变量或表达式的值直接修改JS代码调试区 Sources 面板打开Chrome左边是各种文件资源中间是对应文件内容的显示区域右边是进行调试操作的区域这些是调试区的按钮,从左到右以此是暂停/执行 ,单步执行,单步跳入,单步跳出,禁用/启用有断点打断点...

2019-06-06 23:42:24 4592

转载 深入理解组合继承和寄生继承

从简单的层面深刻理解组合继承和寄生继承方式的由来关于组合继承和寄生继承的文章已经很多了,但是多半都是将如何实现组合继承和组合继承的缺点,寄生继承的缺点的。最近看到这篇文章,觉得很不错,思路清晰的,讲述了二者的由来,为什么需要用到组合继承,以及后续的基于组合继承的缺点发展出了寄生继承的方式。本文实例讲述了JavaScript寄生组合式继承。分享给大家供大家参考,具体如下:其实《JavaS...

2019-05-08 21:46:56 392

原创 怎么在webstorm里安装autopremixer插件

在webstorm里安装autoprefixer插件1. 首先npm全局安装autopromixer插件2. 安装postcss-cli3. 在webstorm里配置External Tools 添加autoprofixer最近发现了一个很有意思的插件,autoprofixer插件,说是可以自动补充CSS3的兼容前缀。表示很心动,如果可以不用对一个CSS属性去写多个兼容写法,而只交给插件来完...

2019-05-03 21:57:37 261

原创 如何解决Unresolved variable or type _dirname

原来是我写错了,dirname前面是两个下划线。。。。即 __dirname

2019-01-23 10:27:23 18412

转载 关于解决Unresolved function or method require()

其实就是编辑器缺了一个解析框架而已,安装了就行。require是属于js的require.js库里的。安装例子:(我使用的是phpstorm)稍微等下 正在匹配所有jslib中…然后我的问题就解决了 done...

2019-01-22 21:35:07 13490 1

原创 关于Unresolved type CommonsChunkPlugin

最近在入门学webpack,学习其中的打包公共代码插件CommonsChunkPlugin,结果总是显示Unresolved type CommonsChunkPlugin上网查了方法,以为是webstrom编译器没装node.js.core的原因,于是装上了额,问题还是没解决后来一搜才发现原来webpack 4以上就没有这个插件了。。。一查自己项目里的webpack版本还真的是4.0...

2019-01-22 19:40:11 427

PxCook下载包

这是像素大厨,方便可用。UI设计师和前端开发工程师不可缺的工具软件

2018-10-28

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

TA关注的人

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