- 博客(18)
- 收藏
- 关注
原创 React 中配置 eslint 搭配 Prettier Now 插件
步骤1. 安装 eslint 创建配置文件// 安装 eslintnpm i eslint typescript -D// 项目根目录运行npx eslint --init// 根据交互提示完成相关插件安装, 选择使用TypeScript2. 设置vscode自动保存格式化3. 补充配置文件:.vscode\settings.json{ "eslint.run": "onType", "eslint.options": { "extensions"..
2021-12-23 18:26:21 317
原创 防抖和节流
防抖和节流是什么防抖和节流都是性能优化的一种手段防抖:一直触发事件不执行,不触发后一段时间再执行节流:一直触发事件会执行,只是执行频率变低了应用场景防抖: 例如根据输入框内容请求数据节流: 例如 滚动条滚动获取位置封装// 防抖const debounce = (fn,time) => { let timer = null return function(...argus) { clearTimeout(timer) ...
2021-12-10 20:42:05 367
原创 前端常见面试题
柯理化总结来说:通过函数调用返回函数的形式,实现多次接收参数最后统一处理的编码形式 就是柯理化作用: 参数复用封装一个柯理化函数// 例如function sum(a,b,c,d){ return a + b + c + d}sum(1,2,3,4) // 10// 需求: sum(1)(2)(3)(4) 或 sum(1,2)(3,4) ... 也能得到10function curry(fn){ // 用len 接收函数参数的长度 const len =.
2021-12-09 20:58:38 675
原创 移动端rem 和 vw 适配 vant
rem适配// 安装 npm i amfe-flexible// main.js 中引入 import 'amfe-flexible'// 安装插件 npm i -D postcss-pxtorem// 配置 postcss.config.jsmodule.exports = { plugins: { 'postcss-pxtorem': { rootValue({ file }) { // 判断读取css文件路径 return f
2021-12-07 16:39:21 228
原创 实例 原型 静态属性 原型链
实例new 一个构造函数创建出来的就是实例 添加的实例属性和方法只能当前实例访问,不同实例的实例属性或方法不同 class 中直接赋值的属性或方法是实例属性或方法(相当于在constructor()里面定义的属性或方法)原型prototype, 直接添加到原型的属性和方法,不同实例都可以访问(首先查找实例上的属性和方法,没有再找原型) class 中用static 声明的属性或方法 是原型属性或方法静态属性通过构造函数直接添加的属性,只能通过构造函数本身访问(实例无法访问)原型链
2021-12-06 21:50:25 220
原创 Promise 对象简单理解
Promise 对象代表了未来将要发生的事件,用来传递异步操作的消息Promise 特点三个状态pending (初始状态) fulfilled (操作"成功") reject (操作"失败")两个过程padding ==> Resolved padding ==> Rejected 只要这两种情况发生,状态就凝固了,不会再变了,会一直保持这个结果Promise 创建const p = new Promise(function(resolve, reject).
2021-12-05 22:01:04 735
原创 前端常见面试题
1. http 状态码 访问一个网页时,浏览器会向网页所在服务器发出请求,当网页显示前,服务器会返回一个包含http状态码的信息头用来响应浏览器的请求 http 状态码由三个十进制数字组成,第一个数字定义了状态码的类型(100~199) 信息响应 (200~299) 成功响应 (300~399) 重定向 (400~499) 客户端错误 (500~599) 服务器错误 常见状态码200 ok: 请求被正常处理并返回 204 No Content: 表示请求得到成功处理,但没有...
2021-12-02 21:52:14 218
原创 前端常见面试题
1. em,rem,vw的区别em 是相对父元素的font-size大小,具有继承的特点. 如果自身设置了font-size则按自身来计算 rem 是相对浏览器的根标签html的font-size大小 vw viewport width 的缩写, 表示可视窗口宽度 1vw是可视窗口宽度的1%2. rem的适配原理将每一个不同的屏幕划分成相同的份数,让同一个元素在不同的屏幕上占据相同比例的空间. 1rem 等于此页面的html的font-size. 我们要做的就是把不同的屏幕划分成相同的份数,在
2021-12-01 21:55:55 199
原创 js 数组方法
常用的数组方法1. push() 和 pop()push() 方法可以向数组末尾添加一个或多个元素pop() 方法可以删除数组最后一个元素,并返回被删除的元素2. unshift() 和 shift()unshift() 方法可以向数组的开头添加一个或多个元素shift() 方法可以删除数组开头的一个元素,并返回被删除的元素3. join()join() 方法可以将数组转换成字符串,默认使用逗号分隔let arr = [1,2,3];console.log(arr.
2021-10-26 21:52:37 331
原创 Es6 和 同步异步任务
1. Es6 模块化1.1 ES6 模块化规范中定义: 每个 js 文件都是一个独立的模块 导入其它模块成员使用 import 关键字 向外共享模块成员使用 export 关键字 1.2 在 node.js 中体验 ES6 模块化node.js 中默认仅支持 CommonJS 模块化规范,若想基于 node.js 体验与学习 ES6 的模块化语法,可以进行如下配置: 确保安装了 v14.15.1 或更高版本的 node.js node -v 命令可查看
2021-10-17 20:48:41 618 4
原创 前端常见面试题01
今天学习nodejs写了一下之前项目的接口,感觉不知道分享什么就准备了一些常见的前端面试题,希望能对 大家有所帮助,面试题也会不定期更新的.1. JavaScript 的原始类型有哪些Boolean (布尔值) null (空) undefined (未定义的) number (数字类型) string (字符串) symbol (独一无二的值)symbol 是Es6引入的一种新的原始数据类型,大家估计比较陌生,可以去查一查文档2. typeof 和 instanceof 的区别
2021-10-14 21:56:52 159
原创 JWT 认证机制
1. Web 开发模式目前主流的 Web 开发模式有两种基于服务端渲染的传统 Web 开发模式 基于前后端分离的新型 Web 开发模式1.1 服务端渲染的 Web 开发模式服务器发送给客户端的 HTML 页面, 是在服务器通过字符串拼接动态生成的.因此,客户端不需要使用 Ajax 这样的奇数额外请求页面的数据.优点:前端耗时少. 因为是服务器负责动态生成 HTML 内容,浏览器只需要直接渲染页面即可 有利于SEO.缺点:占用服务器资源.由于服务器动态拼接页面内容,若请求...
2021-10-13 22:00:12 274
原创 MYSQL的基本使用
1. 数据库的基本概念1.1 什么是数据库数据库(database)是用来组织,存储,和管理数据的仓库. 当今世界充斥着大量的数据.为了方便管理互联网中的数据,就有了数据库管理系统的概念. 用户可以对数据库中的数据进行新增,查询,更新,删除等操作.1.2 常见的数据库MySQL 数据库 (目前使用最广泛,流行度最高的开源免费数据库) Oracle 数据库 (收费) SQL Server 数据库 (收费) Mongodb 数据库其中, MySQL , Oracle , SQL Se.
2021-10-11 21:24:18 112
原创 CORS 与 JSONP 接口
今天我们就从 Express 接口开始详细了解一下CORS和JSONP接口.1. Express 接口创建基本服务器 创建API路由模块 编写 GET / POST 接口// app.js 文件const express = require('express'); // 导入 express 模块const app = express(); // 创建实例const router = require('./router'); // 导入路由模块app.use('/api', ro
2021-10-11 10:27:29 197 1
原创 十分钟教你使用 Express 框架
express 框架作为npm官网上热度排名前十的存在,是我们作为前端程序员不可忽视的一部分,今天就让我们一起来了解并学会使用这个框架吧!1.初识 Express 1.1 Express 简介官方给出的概念:Express 是基于 Node.js 平台,快速、开放、极简的 Web 开发框架. 本质就是一个第三方包,其作用和node.js中内置http模块相似,是专门用来创建Web服务器的. 使用 Express,我们可以方便、快速的创建 Web 网站的服务器或 API 接口的服务器....
2021-10-09 21:57:35 544
原创 手把手教你发个包(详细步骤)
在上篇文章中我们已经初步了解了包的一些基本概念与规则,现在我们可以一起在npm官网上发布一个属于自己的包了.1.需要的功能 发布自己的包之前,我们首先要想一想这个包需要实现什么功能(什么都可以),例如:实现时间格式化const tools = require('hsxtapr');// 2021-10-08 10:52:432.初始化包的基本结构新建一个xxx文件夹,作为包的根目录. // 名字可以去官网查一个不重复的 在该文件夹中创建如下三个文件: package.j...
2021-10-08 14:01:33 405
原创 npm与包
学习到node阶段,学会开发一个属于自己的包是很重要的,可以更好的了解如何使用包,而想要开发包,首先就得了解什么是包,下面我们就让我们一起了解包的概念,并开发一个自己的包.什么是包,为什么需要包?node.js中的第三方模块又叫做包. 由于node.js指提供了一些底层的API,基于内置模块进行开发时,效率很低.而包是基于内置模块封装出来的,提供了更高级,方便的API,极大的提高了开发效率.包有助于我们更轻松的开发. 详细可以了解npm官网. 了解之后可以使用npm包管理工具在https:..
2021-10-07 21:54:44 153
原创 nodejs中的模块化
node.js是一个基于Chrome v8解析引擎的 js 运行环境.简单来说就是运行在服务端的JavaScript.作为一门编程语言,模块化是非常基础的一个要求,可js在2015年前并没有这个概念,多个js文件放在同一个html文件中很容易出现变量污染的问题,好在es6的出现在语法层面支持了模块化,时代在发展,作为前端程序员,学习模块化是非常有必要的!什么是模块化? 在编程领域中,模块化就是遵守固定的规则,把一个大文件拆分成独立并且相互依赖的多个小模块.通俗来讲就是一个js文件可以使用另一...
2021-10-06 20:56:17 580
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人