- 博客(25)
- 收藏
- 关注
原创 flex布局无法居中问题
一种情况是文字与前置图标无法居中对齐, 这个可能是因为汉字的原因, 虽然设置了高度, 但是实际内容是超出这个高度的, 所以实际是局中了, 但是由于文字超出了所在行, 导致看着不居中
2024-04-30 08:59:00 66
原创 swiper自定义前后切换
官网描述中,swiper提供了navigation下的两个属性用于设置自定义前后跳转的元素。首先在html中添加两个标签作为前后跳转的元素,每个都有自己单独的class。然后从swiper/modules引入Navigation后,定义一个变量,用来存放nextEL和prevEL,nextEL和prevEL分别存放各自对应元素的class,swiper会根据这个来获取前后切换元素。
2024-04-26 10:27:19 192
原创 构建、工程化
构建其实是工程化、自动化思想在前端开发中的体现,把一系列流程用代码去实现,让代码自动化地执行这一系列复杂的流程。构建就是做这件事情,把源代码转换成发布到线上的可执行 JavaScrip、CSS、HTML 代码,包括如下内容。代码校验:在代码被提交到仓库前需要校验代码是否符合规范,以及单元测试是否通过。代码分割:提取多个页面的公共代码、提取首屏不需要执行部分的代码让其异步加载。自动发布:更新完代码后,自动构建出线上发布代码并传输给发布系统。自动刷新:监听本地源代码的变化,自动重新构建、刷新浏览器。
2024-04-19 15:19:31 299
原创 消息队列、宏任务、微任务
于是有了宏任务和微任务,通常把消息队列中的任务称为宏任务,每个宏任务中都包含一个微任务队列,在执行宏任务的过程中,如果DOM有变化,那么就会把该变化添加到微任务列表中,这样就不会影响到任务的执行效率问题。定时器任务比较特殊,主线程执行定时器任务的时候,会生成一个回调任务,这个回调任务包含了回调函数、开始计时时间、当前时间等内容,然后把这个回调任务放在延迟队列中,延迟队列中的任务会在当前从消息队列中取出的任务执行完后执行,所以定时器任务可能会比预设延时更久一些,因为要等待从消息队列中取出的任务完成才行。
2024-04-19 14:13:54 292
原创 同步回调、异步回调
上面示例代码中,callback被作为参数传递给了doWork,doWork在执行中,先执行完callback(),doWord再结束,这种是同步回调。像这种doWord执行完后,再执行callback,也就是回调函数在主函数外部执行的被称为异步回调。
2024-04-18 15:43:56 186 1
原创 JavaScript中的this
首先this和作用域(执行上下文)不是一回事,作用域是在js引擎编译时确定的,而this是在执行过程中确定的,谁调用,this就是指向的谁;首先,在执行到new操作的时候,会先创建一个空对象,然后执行Func().call(空对象),先把Func的this改为空对象,然后在执行Func,执行完后,之前的空对象里就有了name属性并被赋值为1,最后把这个对象返回,之后f就存下了这个对象在内存中的地址了。在这段代码中,Func为一个构造函数,f是通过构造函数创建的一个实例,那这个创建的过程是这样的呢?
2024-04-10 22:44:45 206 2
原创 JavaScript作用域链
bar在去获取myName的时候,会先检查自己的词法环境中是否有myName,没有再去变量环境查找,变量环境也没有,你可能以为会去物理上的下一个执行上下文foo中去寻找,但是开头已经说过,JS的作用域是基于词法环境的,bar在定义的时候,外部是全局作用域,所以bar找不到myName后,实际会去全局作用域去寻找myName,进入全局作用域,也是词法环境->变量环境这个顺序去寻找。全局环境肯定是null了,毕竟他是最基础的作用域。,所以在定义函数的时候就已经确定了作用域链是怎样的。
2024-04-09 14:53:21 265 1
原创 JS调用栈(执行上下文栈)
每个函数的调用,JS引擎都会为其创建执行上下文,并把执行上下文压入调用栈,函数执行完成后,会被弹出调用栈。当调用栈空间被占满时,会引发堆栈溢出的问题,此时应该去减少栈中执行上下文的数量来解决这一问题。addAll执行上下文。addAll执行上下文。addAll执行上下文。
2024-04-07 15:19:41 119 1
原创 JS变量提升
上面这段代码中,JS引擎接手后,先把var a和function b的声明放入内存中(并把b的定义部分放入堆中,然后b指向定义部分所在位置)作为执行上下文,剩下的部分放入另一块内存作为可执行代码,编译完成后,便进入了执行阶段,JS引擎开始执行可执行代码,从上往下分别是。浏览器不能直接识别和执行JS代码,需要JS引擎来编译JS代码,变量提升也是发生在编译的过程中,JS引擎会把变量和函数的声明部分提到代码的开头,并赋值undefined作为默认值。代码编译会生成两部分,一部分是。
2024-04-07 14:13:57 186 1
原创 H5页面中元素被键盘顶起
问题:App.vue的template里包含header,router-view,footer三部分,在点击input输入框输入内容时,footer会被键盘顶起,阻挡router-view的内容。原因:使用position:fixed定位导致,去掉后还需要给App.vue的根元素添加min-height才可以防止footer被键盘顶起。
2024-04-02 13:43:57 94 1
原创 微信小程序发版后用户更新
小程序每次冷启动时,都会异步检查是否有更新版本。如果发现有新版本,将会异步下载新版本的代码包。但当次启动仍会使用客户端本地的旧版本代码,即新版本的小程序需要等下一次冷启动才会使用,开发者也可以手动触发。开发者在后台发布新版本微信小程序后,无法立刻影响到所有现网用户,正常情况下,在全量发布 24 小时之后,新版本可以覆盖 99% 以上的用户。
2024-03-29 13:54:13 127 1
原创 微信小程序修改svg颜色
微信小程序虽然不支持svg标签,但是Image标签支持svg,不过跟静态图一样,没法改颜色啥的。背景:后台可配置主题色,svg图标需要使用主题色。
2024-03-21 11:34:35 345 1
原创 tailwind与element样式冲突
tailwind的样式覆盖element的样式。el-button在没有设置plain的情况下背景透明了,文字颜色也不对。
2023-06-26 16:11:11 582
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人