- 博客(12)
- 收藏
- 关注
原创 CSS 水平垂直居中全套方案
CSS 水平垂直居中通过css让元素水平垂直居中有两个形式:居中元素固定宽高:absoulte + 负marginabsolute + margin: autoabsolute + calc居中元素不固定宽高absolute + transformtable布局css tablelineHeightflexgrid以下是html代码:<div cla...
2020-05-07 16:55:57
224
原创 对象终极深浅拷贝
对象的深浅拷贝深浅拷贝都是对对象而言的,非对象没有深浅拷贝之分。浅拷贝只是拷贝对象的引用,拷贝后的对象和原对象指向同一地址,也就是拷贝后的对象修改值会影响原对象。深拷贝的话就是拷贝其值,拷贝后的对象和源对象没有关系,互不影响。浅拷贝通过"="操作符赋值的方式就可以实现简单的浅拷贝var obj = { name: "张三", age: "5", hobbies: ["吃饭", "...
2020-05-02 12:36:22
223
原创 防抖和节流,提高性能
防抖、节流,性能优化1、防抖防抖就是防止抖动,当持续触发事件的时候,会合并事件而不会立即触发,在一定时间内不再触发那个事件的时候才会真正去触发事件function debounce(fn, delay, ...rest) { let timer; return function () { let that = this; if (timer) { clearTimeout(...
2020-05-01 11:47:18
208
原创 js嵌套数组展平和判断数组方法
判断数组方法1. instanceoffunction isArray(arr) { return arr instanceof Array}instanceof 只能用来判断两个对象是否属于实例关系, 而不能判断一个对象实例具体属于哪种类型。其中的缺陷就是:instanceof对于frame跨域会有问题2. constructorfunction isArray(arr) { ...
2020-04-09 20:20:19
527
原创 js原生判断是否是数字类型
js判断数字类型汇总最近在写代码的时候,有些逻辑需要判断数字类型,等用到的时候才发现自己了解的方法不太严密,然后就决心查资料汇总了解下有哪些方法比较严密第一种:typeof + isNaN使用typeof可以判断是否是一个数字类型,但是NaN也是数字类型,为了筛除这个可能,进一步通过isNaN来筛除。这种方法会遗漏Infinityfunction isNumber(num) { retu...
2020-01-19 17:53:57
3279
原创 防抖和节流
防抖和节流对于一些高频事件,比如窗口的resize, scroll, 输入框输入事件、鼠标移动等事件,如果这些事件处理函数比较复杂或者页面重新渲染的次数频繁,那么会给浏览器造成比较大的压力,性能低下,用户体验不好。这时候可以有相应的防抖或节流的方式减少函数触发的频率防抖对于持续触发的事件,会合并事件而不会立即执行;如果在一定的时间内没有再次触发这个事件,那么才会真正执行这个事件。有两种方式...
2020-01-19 16:07:06
268
原创 三栏布局之圣杯和淘宝双飞翼布局
三栏布局三栏布局也就是两边宽度固定,中间自适应;中间栏要放在文档流中优先渲染,那就得先写中间栏的dom结构圣杯布局代码如下:<!-- style样式 --><style>.fl { float: left; height: 200px;}.container { padding: 0 200px 0 150px;}.middle { wi...
2020-01-17 16:18:15
203
原创 js继承大汇总
Js继承大汇总想要继承,那么必须有个父类,子类通过继承的方式可以拥有父类的属性和方法。通俗的来说就像是生活中的儿子继承父亲的财产,子承父业类似道理,以下是js的七种继承方式:1.原型链继承继承就是相当于复制,原型链继承就是将父类的实例对象赋值给子类的原型对象,让子类的原型对象指向父类的实例对象,从而达到继承的效果。// 父类构造函数function Parent() { this.mo...
2019-11-16 17:00:17
205
原创 彻底搞懂ES6中的Promise
在搞懂Promise之前,首先得先知道为什么会出现PromisePromise出现的缘由?在Promise出来之前,要想在一个网络请求结果到达之后再去执行其他的请求,也就是一个请求依赖于上一个请求结果,那么就可能造成不断嵌套的情况,如下:$.ajax({ url: 'xxx', success: function () { $.ajax({ url: 'yyy', suc...
2019-11-04 20:06:46
256
原创 redux原理
redux原理解析redux状态管理库向外暴露了六个API: createStore, combineReducers, applyMiddleware, bindActionCreators, componse,今天就来尝试通过手写其中的几个Api,来更加了解redux的工作机制createStore这个createStore是用来创建store对象的,用于保存状态树中的数据,且是唯一一个...
2019-10-24 20:02:25
439
原创 原生实现call、apply、bind
原生实现call、apply、bindcall实现function call (context, ...rest) { // 防止传入null或其他的类型出现错误 if (typeof context === 'object') { context = context || window } else { context = Object.create(null) } con...
2019-10-23 15:05:47
210
原创 运行vue项目警告:No parser and no filepath given....
yarn serve运行vue项目时警告:No parser and no filepath given, using 'babylon' the parser now but this will throw an error in the future. Please specify a parser or a filepath so one can be inferred.解决方法:因为v...
2018-12-08 14:43:18
1381
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人