编辑
2023-04-18
前端
0

前言

本篇重在介绍前端工程化中可能会用到的lint工具和配置,不深入原理,阅读大概需要十分钟。

简介

规范的代码可以带来一致、无歧义、高效的阅读体验,也可以在某种程度上避免一些低级的错误甚至提高代码的执行效率。大部分现代前端项目都会配置Eslint、Stylelint、Prettier等前端代码校验工具,通过预设规则校验代码,检测其是否存在错误和漏洞,并提示修复方案并尽可能依据修复方案格式化出正确代码。

编辑
2023-04-05
前端
0

引言

在介绍函数式编程之前,我们先来看下函数在JS中的作用。在JS中,函数是一等公民,除了传统函数的使用,它可以作为普通变量一样作为函数参数,还可以在函数中被返回。除此之外,函数还可以当做类来使用,我们使用new加上函数就可以构造一个实例,并且子类还可以通过构造函数的prototype属性实现原型继承。在React中,组件其实也是一个函数。所以在JS中,函数无处不在。

在软件开发中,我们常见的编程形式有命令式编程和声明式编程。而函数式编程是一种较为抽象的编程方式,是一种强调以函数为主要开发风格的编程方式。在函数式编程中,我们以函数的形式思考和编程。

编辑
2023-03-14
前端
0

关于元素的大小

关于尺寸的属性

  • clientHeight和clientWidth:

    • 元素可视内容区域的高度和宽度,不包括水平滚动条、边框和外边距。比如,clientWidth=width+padding

    • 单位是像素px。整数(亲测,这是个四舍五入后的值)。返回值不带px

    • 只读属性

  • offsetHeight和offsetWidth:

    • 元素可视内容区域的高度和宽度,包括元素的边框、内边距和元素的水平滚动条(如果存在且渲染的话),不包括外边距和

      等伪类元素的高度。比如,offsetWidth=width+padding+borderWidth

    • 单位是像素px。整数(亲测,这是个四舍五入后的值)。返回值不带px

    • 只读属性

  • scrollHeight 和 scrollWidth:

    • 元素内容的实际高度和宽度,包括由于溢出导致的视图中不可见的内容,也包括
      等伪类元素的高度和宽度,不包括边框和外边距。没有垂直滚动条的情况下,scrollHeight与clientHeight相等。
    • 单位是像素px。整数(亲测,这是个四舍五入后的值)。返回值不带px
    • 只读属性
编辑
2023-03-09
前端
0

promise介绍

Promise是异步编程的一种解决方案。ES6提供原生支持,并为Promise提供了统一的 API。

从语法上说,Promise是一个JS的原生对象,从它可以获取异步操作的消息。

Promise 本身是一个构造函数,可以像下面这样构造一个Promise实例

javascript
const p = new Promise((resolve, reject) => { resolve('success'); }); console.log(p);

打印结果如下

Promise实例有两个私有属性,其中[[PromiseStates]] 代表状态,一共有三种状态,[[PromiseValue]]代表结果。

  • [[PromiseStates]]
    • pending:等待中
    • resolved:成功
    • rejected:失败
  • [[PromiseValue]]
编辑
2023-02-24
前端
0

前言

热更新也叫Hot Module Replacement,是指当我们对代码修改并保存后,webpack 将会对代码进行重新打包,并将新的模块发送到浏览器端,浏览器用新的模块替换掉旧的模块,以实现在不刷新浏览器的前提下更新页面。热更新也是webpack原生提供的功能之一。