- 博客(4)
- 资源 (1)
- 收藏
- 关注
原创 vue源码学习
initMethods——》将methods中定义的方法使用bind绑定当前vue实例,方便用户通过this调用。lifecircle——》挂载父实例,把自身挂载在父实例的childrens列表里,并初始化一些状态和字段。initInjections——》对父组件通过provide/inject传递过来的属性做依赖收集。initRender——》对父组件传过来的$attrs和$listeners做依赖收集。initEvents——》将父组件的listeners挂载到自身上。
2022-11-22 14:16:53
192
原创 TypeScript学习笔记
如下图39行,e是unknown类型,s是string类型,e赋值给s会报错。没有明确指出类型的地方,类型推演会帮助提供类型。提供类型化 + 静态类型检查 + 类型推断,静态识别出那些可能有错的部分,在编码阶段就扼制不安全代码的产生。c定义并赋值false之后,ts自动检测c的类型为Boolean,估可以省略写法。TS增加了变量和参数的类型声明,具有类型推演,类型断言as。any:任意类型,赋值给其他变量时,会影响别的变量的类型。unknown:未知类型,也可以是任意类型。函数:声明参数类型和返回值类型。
2022-10-16 19:09:45
230
原创 webpack
而es6的import则是一个静态的导入过程(比如编辑器在静态编译阶段就能对未使用的变量做出提醒,webpack也是在该阶段做出分析)当我们写了好几个方法,但是实际上只用到了一个,那么我们需要在打包的时候剔除没有用到的代码,这就是tree shaking的作用,tree shaking只支持ES module的语法,即import、export这种,而不支持require这种commonJS的语法。babel-plugin-import 按需引入第三方组件库。postcss分辨率兼容。
2022-10-07 00:31:37
317
原创 前端修炼日记
类与原型对象关系——创建一个新函数的时候,js引擎会为默认为该函数创建一个prototype属性,这个属性值是一个原型对象,这个对象里默认有一个constructor构造函数属性,constructor属性的值是这个函数。 实例与原型对象——实例的原型属性是_proto_,这个属性的值与类的prototype值一致(注意:重写原型对象应在实例化之前。否则会切断实例与类之间的联系) 继承——子类原型对象指向父类实例(1、子类必须要有父类原型上的属性,但是字类的原型对象不能跟父类的一致) 箭头函数的作用域
2021-12-18 23:30:47
870
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人