- 博客(11)
- 收藏
- 关注
原创 一个用于面试的Promise源码
下面是一个用于面试的简单版的Promisefunction MyPromise(executor){ if(typeof executor !== 'function') throw new Error('请传入执行器函数executor 例如function(resolve,reject){}')//必须传入executor函数,如果不传是会报错的 let self = this;//保存this self.status = 'pending';//promise总共有三种状态,pendin
2021-07-30 17:18:40
156
原创 elementUI的cascader级联选择控件使用采坑:设置默认值回显问题解与Cannot read property ‘level‘ of null问题
问题1:当点击切换第一个下拉菜单,第二个与之联动的cascader组件就会报Cannot read property ‘level’ of null ,如下图 <el-cascader v-if="isTest" ref="locationCascader" @change="fnChangeChapter" v-model="chapterInfo" :options="cha
2021-07-28 17:05:34
981
原创 CSS_Column多列布局与break-inside: avoid
BGU解决方法break-inside: avoid;解决瀑布流图片队列文字换列问题不加break-inside: avoid;我们可以发现3有一部分到第二列去了加break-inside: avoid;3会在自己所占的这一列,不会换到第二列去1.多列属性column-countcolumn-count:指定了需要分割的列数div { -webkit-column-count: 3; /* Chrome, Safari, Opera */ -moz-column-co
2021-06-30 11:09:04
3443
1
原创 JS中的函数柯里化add(1, 2)、 add(1)(2)
1. 概念”函数柯里化”是指将多变量函数拆解为单变量的多个函数的依次调用, 可以从高元函数动态地生成批量的低元的函数。简单讲:就是利用函数执行,可以形成一个不销毁的私有作用域,把预先处理的内容都存在这个不销毁的作用域里面,并且返回一个函数,以后要执行的就是这个函数。面试过程中很多朋友应该都碰到过下面这个栗子:// 常规的add函数function add(x, y) { return x + y}// Currying后function curryingAdd(x) { re
2021-06-18 14:06:56
1303
2
原创 子元素使用position:fixed后宽度不能和父元素保持一致问题的解决方案
position:fixed定位的元素,宽度超出,怎么解决?最近做项目时,用fixed固定在窗口底部时,发现宽度超出。因为整体布局为左右结构,父元素采用flex布局。左侧固定宽度,右侧填充。右侧头部需要固定显示,下面内容可以滚动,width设置为100%时,发现超出父元素。初步解决方案:.header { height: 50px; line-height: 50px; border-bottom: 1px solid #cecece; box-shadow: 0 2px
2021-06-17 11:32:27
6869
1
原创 浏览器解析与渲染过程以及验证阻塞和渲染
解析过程是往复的,通常源码不会在解析过程中发生改变,但在html中,脚本标签包含的“document.write”可能添加标签,这说明在解析过程中实际上修改了输入。不能使用正则解析技术,浏览器为html定制了专属的解析器。 Html5规范中描述了这个解析算法,算法包括两个阶段——符号化及构建树
2021-06-17 11:00:01
272
原创 vue中动态style(如何动态修改伪元素样式)
vue中如何动态修改伪元素样式vue项目中我们可以通过行内样式进行动态修改样式,大家都会就举栗子了如何动态修改伪元素样式?1.css中如何用变量声明css变量的时候,变量名前面要加两根连词线(–)。变量名大小写敏感,–header-color和–Header-Color是两个不同变量。var()函数用于读取变量。var()函数还可以使用第二个参数,表示变量的默认值。如果该变量不存在,就会使用这个默认值。第二个参数不处理内部的逗号或空格,都视作参数的一部分。<style>b
2020-05-28 21:40:59
15384
3
原创 JS中用正则最简单的去获取url上的参数
JS中用正则最简单的去获取url上的参数最原始的方法去获取url上面的参数,需要写不少代码 let href = window.location.href, obj1 = {}, result1 = href.split("?")[1].split("&"); result1.forEach((item) => { let arr = item.split("="); obj1[arr[0]] = arr[
2020-05-23 23:55:16
259
原创 JS对象的万能深拷贝的方法
JS 对象的深拷贝的方法在js中我们的对象都是保存在堆中,当要使用的时候,通过栈中的指针去堆中找(指针寻址)let obj={name:'zhangsan',age:18}let copyObj=obj//此处拷贝只是复制了栈中指针,它和obj指向的是堆中同一个对象,当改变copyObj的属性,obj也会跟着变化,也就是我们说的浅拷贝copyObj.name='lisi'console.log(obj)//此处输出的结果{name:'lisi',age:18}如何进行深拷贝?1.常用的JSO
2020-05-23 00:35:05
683
原创 mongodb不能连接数据库
有时候输入mongo出现couldn’t connect to server 127.0.0.1:27017C:\Users\In my love>mongoMongoDB shell version v4.0.9connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb2020-05-21T21:39:04.158+0800 E QUERY [js] Error: couldn't connect to ser
2020-05-22 23:14:04
939
原创 vux中关于组件中调用getter如何进行传值
vux中关于组件中调用getter如何进行传值在使用vux中进行状态管理的时候 ,我们不可避免的要使用到getter,它的功能和vue中computed功能类似在不给getter传参的时候,他默认会接收state和getter做为参数const store = new Vuex.Store({ state: { todos: [ { id: 1, text: '...', done: true }, { id: 2, text: '...', done: false
2020-05-21 21:38:04
528
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人