加载中…
Blog
写点东西,记录一下踩过的坑与有趣的想法。
前一阵做需求时,有个小功能实现起来废了点脑细胞,觉得可以记录一下。 产品的具体诉求是:用户点击按钮进入详情页面,详情页内的卡片标题内容过长时,标题的前后两端正常展示,中间用省略号...表示,并且鼠标悬浮后,展示全部内容。 关于鼠标悬浮展示全部内容的代码就不放在这里了,本文主要写关于实现中间省略号...的代码。
在 3.5 中,Vue 的反应性系统经历了另一次重大重构,实现了更好的性能并显着提高了内存使用率 ( -56% ),而行为没有变化。重构还解决了 SSR 期间因计算挂起而导致的陈旧计算值和内存问题。 此外,3.5 还优化了大型、深度反应阵列的反应跟踪,在某些情况下使此类操作速度提高了 10 倍
在当今的编程领域,面试不仅是技术能力的考察,更是思维灵活性与深度理解的试金石。面试中偶遇诸如 [] == ![] 表达式这类题目,虽让人初感意外,实则深藏玄机,考验着我们对于JavaScript这类动态语言特性的透彻理解。这类问题触及了类型转换、逻辑运算以及语言设计的微妙之处,促使我们跳出日常编码的舒适区,深入探索编程语言的底层机制。接下来,我们将一步步揭开这道题目的神秘面纱,不仅为解答此类问题。
首先,从整体去看,"sum="是一个字符串,后面是个+号,所以这里会用到字符串的拼接 其次,形如add(1)(2)其内部要用函数柯里化实现,要接收第二个参数,第一次函数调用应该要返回一个函数。 看输出结果,是等于所有参数的和,所以需要有将所有参数累加的逻辑,前置的条件就是收集记录所有的参数。 回到最外层,字符串拼接的时候,add(1)(2)返回的对象,需要调用toString()方法将其转化为字符
在JavaScript中,任务(Tasks)的执行模型基于事件循环(Event Loop)。JavaScript本身是单线程的,这意味着它一次只能做一件事情。为了能够处理异步操作,如网络请求、定时器等,JavaScript引入了事件循环的概念。宏任务通常指的是JavaScript执行栈中的一个任务;微任务是指那些需要在当前宏任务结束之后立即执行的任务。微任务会在当前宏任务的末尾被执行,但在下一个宏
在项目中经常会使用到各式各样的图标,然鹅,每个项目的图标也许会有多个图标需要重复。比如在我的项目开发中,像系统模块类等需要的图标就有很多的重复性,如果每个项目都这样copy过来copy过去,就会比较麻烦,因此可以写一个将图标转换成组件的形式,像平时使用组件那样使用图标,话不多说,码字。。。。
在JavaScript中,可迭代对象(Iterable Object)是一种实现了迭代器协议的对象,这意味着它可以被循环遍历,比如使用for...of循环,或者被扩展运算符...所使用。为了成为可迭代的,对象必须拥有一个名为Symbol.iterator的方法,这个方法返回一个迭代器对象,而迭代器对象则具备next()方法,用来获取序列中的下一个值。
为什么要做这个自己的项目脚手架呢?主要原因是因为在每次开发项目的时候,都要进重复性的项目搭建工作,比如使用`vite`、`vue3`作为项目开发框架,就会需要使用vite创建项目。同时,为了进行项目规范会还要配置`eslint`、`prettier`、`pinia`等常用插件。进而重复行的工作会导致时间上的浪费。或者可以将模板项目进行存放至仓库中...
使用Nuxt 3重构个人网站:从Vite到Nuxt的转型之旅。在前端开发领域,技术的更新换代总是快速而频繁的。作为一名热衷于技术探索的开发者,学习使用新的技术栈来以保持与时俱进。最近,我决定将我的个人网站从基于Vite 5.x、Vue 3、Tailwind CSS、Pinia、Bootstrap 5.x以及Element-Plus组件库的技术栈,转型为使用Nuxt 3、Vue 3、Tailwin