自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

闻人放歌的三寸青草园圃

三尺青青,寒冬未暝。何以春来,再与初心。

  • 博客(54)
  • 收藏
  • 关注

原创 module chunk bundle的区别

chunk - 多模板合并成的,如entry import() splitChunk。module - 各源码文件,webpack中一切皆模块。bundle - 最终的输出文件。

2024-07-25 13:55:03 43

原创 TS如何处理js模块的类型?

【代码】TS如何处理js模块的类型?

2024-07-24 10:40:52 95

原创 TS如何扩展window属性

/ xx.d.ts 声明文件。

2024-07-24 09:51:30 76

原创 TS常见工具类型有哪些

const定义单独的变量,readonly定义属性。

2024-07-24 09:26:12 72

原创 TS中有哪些特殊符号,分别是什么意思

这里age为可选项,创建u这个变量不填age属性不会报错,这里的age类型就是 number | undefined。

2024-07-23 22:29:49 253

原创 TS中交叉类型和联合类型是什么

【代码】TS中交叉类型和联合类型是什么。

2024-07-23 21:15:03 147

原创 如何理解TS中的泛型

泛型的使用可以穿入任何类型,包括interface和type可以当作任何类型来使用可自定义扩展泛型的属性泛型Generics,是为了通用型和扩展性泛型定义:函数class interface type泛型的使用:穿入任何类型,当作任何类型,扩展其他属性

2024-07-23 20:29:25 56

原创 type和interface如何扩展属性

【代码】type和interface如何扩展属性。

2024-07-23 18:54:00 156

原创 typescript中type和interface有什么区别,如何选择?

【代码】typescript中type和interface有什么区别,如何选择?

2024-07-23 18:15:45 116

原创 #和private有什么区别?

【代码】#和private有什么区别?

2024-07-23 17:43:30 186

原创 TS的访问修饰符有哪些

如果你和我一样是从强类型语言(如C++、C#、Java)转过来的,相信你会一眼就知道是什么。

2024-07-23 17:34:53 184

原创 TS的基础类型有哪些?

常见基础类型:。其他类型:数组Array和元组Tuple。

2024-07-23 17:09:25 103

原创 Composition API和React Hooks对比

前者setup只会被调用一次,而后者函数会被多次调用前者无需useMemo useCallback,因为setup只会调用一次前者无需顾虑调用顺序,而后者需要保证hooks的顺序一致前者reactive+ref比后者useState,要难理解

2024-07-22 16:39:49 79

原创 为何Vue3比Vue2快

从编译结果代码可以看出,如果该事件方法已被定义则直接去缓存中的方法,没有则定义。静态字段将不再比较,这样diff算法将少比较很多节点。编译时,根据不同的情况,引入不同的API。

2024-07-22 15:36:08 509

原创 setup中如何获取组件实例

【代码】setup中如何获取组件实例。

2024-07-21 23:32:42 154

原创 watch和watchEffect的区别

可以看出watchEffect会灵活很多。

2024-07-21 23:17:40 229

原创 Vue3如何实现响应式

Proxy能规避Object.defineProperty的问题,但是无法兼容所有浏览器,无法polyfill。废话不多说,直接上代码。

2024-07-21 22:37:51 305

原创 Composition API实现逻辑复用

【代码】Composition API实现逻辑复用。

2024-07-21 18:26:37 305

原创 Vue3升级了哪些重要的功能

在vue2.x中必须有根节点,按vue3.x这种写法会直接报错。vue3.x中会自动创建fragment,类似react的<></>。可以帮我控制显示和隐藏,在组件加载时显示fallback插槽内容。

2024-07-21 18:03:20 378

原创 如何理解ref toRef和toRefs

合成函数(可以理解为hooks)返回响应式对象。

2024-07-21 16:48:49 445

原创 Composition API对比Options API

Composition API带来了什么?更好代码组织更好的逻辑复用更好的类型推导如何选择不建议共用,会引起混乱小型项目、业务逻辑简单,用Options API中大型项目、逻辑复杂,用Composition API

2024-07-21 13:25:43 77

原创 Vue3比Vue2有什么优势?

性能更好体积更小更好的ts支持更好的代码组织更好的逻辑抽离

2024-07-21 09:57:47 300

原创 vue常见的性能优化方式

合理使用v-show和v-if合理使用computedv-for时加key,以及避免同时使用v-for和v-if自定义事件、DOM事件及时销毁合理使用异步组件合理使用keep-alivedata层级不要太深使用vue-loader在开发环境做模板编译(预编译)webpack层面的优化前端通用的性能优化,如图片懒加载使用SSR

2024-07-21 09:27:21 89

原创 vue何时使用beforeDestroy

解绑自定义事件event.$off清除定时器解绑自定义的DOM事件,比如 window scroll等

2024-07-21 00:13:29 62

原创 js修改hash的方法

【代码】js修改hash的方法。

2024-07-20 17:17:51 345

原创 vue的三大核心知识点

响应式: 监听data属性getter setter(包括数组)模板编译: 模板到render函数再到vnodevdom: patch(elem, vnode)和patch(vnode, newVnode)

2024-07-20 16:33:47 150

原创 Object.defineProperty的缺点

vue2

2024-07-19 14:23:49 122

原创 vue2高级特性

只要侦听到数据变化,Vue 将开启一个队列,并缓冲在同一事件循环中发生的所有数据变更。然后,在下一个的事件循环“tick”中,Vue 刷新队列并执行实际 (已去重的) 工作。为了在数据变化之后等待 Vue 完成更新 DOM,可以在数据变化之后立即使用 Vue.nextTick(callback)。有如下场景,需要渲染一个新闻页面,包括图片、文字等内容时,怎么渲染?当不确定渲染的是什么组件时,就需要用到动态组件了。当组件渲染的时候, 将会被替换为“Your Profile”。3、v-model的实现原理。

2024-07-19 12:15:19 436

原创 ES6常用功能/新特性

es6模块化,在浏览器中需要通过webpack/rollup打包。这里我们也可以比较下两者打包结果的区别。查看打包后的代码,webpack有很多自己缝状的辅助函数,而rollup除了定义的amd/umd标准函数外,其他都是自己的逻辑代码。以下例子可以看出es6中class的本质就是js构造函数的语法糖。但是使用class写法,语意更加清晰、简洁。箭头函数可以改变js函数烦人的this指向window问题,将this指向最近一层。promise用来解决js中的callback hell。

2024-07-15 17:16:43 796

原创 JS中变量类型和计算

typeof只能区分值类型(定义在栈上的数据),因此,判断引用类型需要使用其他方法。

2024-07-14 20:39:01 338

原创 javascript this

【代码】javascript this。

2024-07-14 18:58:38 175

原创 javascript闭包的理解

什么事闭包?个人理解即为闭包: 在js中,this在定义时是无法确认的,只有在执行时才能确定值。在js中是没有块级作用域的,js和C#、Java等语言不通,是一门解释性语言,这点需要特别注意。需要避免变量污染需要将变量定义在函数作用域中。闭包的作用是什么呢?上面例子,在匿名函数中,a是自由变量,因此在作用域链中会找到父级作用域中去找,也就是100。

2024-07-14 18:20:37 211

原创 DOM的本质

HTML是特殊的XML,

2024-07-14 16:47:39 99

原创 前端性能优化

前端性能优化

2024-07-14 16:32:03 271

原创 javascript-原型链

【代码】javascript-原型链。

2024-07-10 15:27:36 77 1

原创 【学习笔记】vite为什么在开发环境启动比webpack快很多

而webpack则是传统的需要将引用捏合打包。

2024-02-27 10:15:50 191

原创 vue的diff算法是如何将时间复杂度降低为O(n)的

如果不做优化的话,原diff算法需要经过新旧vdom遍历以及排序,时间复杂度则为O(n3)O(n^{3})O(n3)这属于一个不可用的时间复杂度。那么,做了哪些优化呢?查看vue源码可以得出只比较同一层级,不跨级比较tag不相同,则会直接删除重建,不再深度比较tag和key都相同,则认为其为相同节点,不再深度比较注意key的作用,在这里也是很明显看出为什么在进行v-for遍历的时候需要使用key...

2021-09-29 10:32:26 1088

原创 vue打包移动app的测试环境与生产环境地址问题

我在vue移动app开发中遇到了这样一个问题——在打包后打开app,点击登录无法连接到服务器,甚至连请求都没能发出去。确认了下,首先手机和电脑连接的是同一wifi且能ping通。排除了网络问题的可能性。后来发现了这样一个坑爹的问题dev: { // Paths assetsSubDirectory: 'static', assetsPublicPath: '/',...

2018-12-11 10:06:46 683 1

原创 vue移动app项目中使用flex布局,呼出手机键盘页面被顶起和压缩的问题

在移动项目开发中遇到这个问题。原因分析:因为flex布局是根据页面宽高度进行变化的,因此,当底部弹出手机软键盘时,因页面高度变化导致页面因而变化。解决方法:只要知道了原因,那么解决就很简单了。我们只需要在app这个div初始化完成时,获取手机的屏幕高度,并将值赋给height就行了。App.vue:var height= document.documentElement.clientHei...

2018-12-05 10:19:17 3938 1

原创 vue中的正则表达式

判断是否为数字或字母: var str = "hk001"; var regex = /^[A-Za-z0-9]$/; if(!regex.test(str)){ return false; }...

2018-11-22 10:22:05 3562

空空如也

空空如也

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

TA关注的人

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