JavaScript
文章平均质量分 64
alexisdjh
?
展开
-
JS事件循环以及宏任务与微任务
JS事件循环以及宏任务与微任务先看一道简单题目console.log(1)setTimeOut(() => console.log(2), 0);console.log(3)相信大部分人的回答都是1,3,2,那这是为什么呢?其实这是JS的异步原理,先来看一下下面这张图…我们都知道JavaScript是一门单线程语言,单线程就是说JS在执行代码的时候只有一个主线程来处理任务,而我们有知道JS可以执行异步任务,JS执行异步任务正是通过事件循环机制Event Loop实现的我们再来看原创 2021-08-04 16:15:26 · 263 阅读 · 0 评论 -
electron学习笔记
electron学习笔记electronElectron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架,它的出现让前端工程师能够用JavaScript写出跨平台的桌面应用,它几乎是前端开发人员开发桌面客户端的唯一途径,最重要的是,我们可以利用我们学的Vue和React框架构建electron程序,因此学习electron需要我们抱有对技术的热爱。第一次接触electron是在b站的一位up主直播写代码看起来好玩于是学了,最近做在线记账系统的时候想到可以结合electron原创 2021-08-04 16:14:56 · 350 阅读 · 0 评论 -
记录学习React
记录学习ReactReact是什么React是一个简单的javascript UI库,用于构建高效、快速的用户界面。React的特点声明式写法你只需要描述UI(HTML)看起来是什么样,就跟写HTML一样,React负责将你写的HTML渲染出来组件化React 中一切都是组件(万物皆可组件)。 我们通常将应用程序的整个逻辑分解为小的单个部分。 我们将每个单独的部分称为组件。 通常,组件是一个javascript函数,它接受输入,处理它并返回在UI中呈现的React元素。配置React原创 2021-08-04 16:14:17 · 210 阅读 · 0 评论 -
前端登录逻辑总结笔记
前端登录逻辑总结笔记在写后台管理系统的时候,学习了一下vue-element-admin的源码,总结了登录的大致逻辑前端登录大致结构:<el-form ref="loginForm" :rules='loginRules'></el-form>loginRules: { username: [ { required: true, trigger: "blur", validator: validateUsername }原创 2021-08-04 16:13:34 · 2388 阅读 · 0 评论 -
async/await关键字
async/await关键字ES6新增了关键字async和await,我第一次看到这个关键字是别人分享的一个小程序项目中,因为没有见过async和await,就百度搜了一下,关于async和await的解释有很多,在文章的最后推荐两篇阅读文章asyncasync用于声明一个异步函数,而且async本身的意思就是“异步的”,它的优势在于处理then式调用链async函数返回的是一个Promise对象,如果在函数中return一个值,async内部会调用Promise.resolve()帮你封装成一个原创 2021-08-04 16:12:42 · 380 阅读 · 0 评论 -
Javascript数据结构与算法
Javascript数据结构与算法数据结构常见的数据结构有:栈,队列,链表集合,字典树,图,堆图图的常用操作:深度优先遍历:尽可能深的搜索图的分支访问根节点对根节点的没访问过的相邻节点挨个进行深度优先遍历广度优先遍历:先访问离根节点近的节点新建一个队列,把根节点入队把队头出队并访问把队头的没访问过的相邻节点入队LeetCode题目示例:417.太平洋大西洋水流问题,题目链接:https://leetcode-cn.com/problems/pacific原创 2021-03-22 16:40:19 · 302 阅读 · 0 评论 -
仿思否可伸缩input搜索框
手写带有伸缩效果的input输入框最近在逛思否的时候,看到思否的搜索输入框伸缩动画挺有趣的,希望可以用在自己写的网站中我的第一反应是思否用的什么组件库,比如element,layUI,viewUI,Bootstrap什么的,但是找了这几家网站都没有找到带有伸缩动画的input输入框,实在没办法了,只能自己写一个,直接源码附上:<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'>原创 2021-03-22 16:34:42 · 398 阅读 · 0 评论 -
Node.js进阶 --- Express常用中间件 body-parser
Node.js进阶 — Express常用中间件 body-parserbody-parser是一个非常常用的一个express中间件,作用是对post请求的请求体进行解析。使用非常简单,以下两行代码已经覆盖了大多数使用场景。首先需要安装body-parsernpm i -S body-parser在app.js中使用const bodyParser = require('body-parser')// 创建 express 应用const app = express()app.use原创 2021-03-22 16:32:16 · 509 阅读 · 0 评论 -
Node.js进阶 --- Express常用跨域中间件cors
Node.js进阶 — Express常用跨域中间件cors在项目开发中前后端项目往往部署在不同的端口号中,会导致跨域错误,需要在node服务中添加跨域中间件cors:安装:npm i -S cors在app.js中使用:const cors = require('cors')// ...app.use(cors())...原创 2021-03-22 16:31:44 · 379 阅读 · 0 评论 -
Node.js进阶 --- Express-validator表单验证器
Node.js进阶 — Express-validator表单验证器TIP源码地址:https://github.com/express-validator/express-validator使用 express-validator 可以简化 POST 请求的参数验证,使用方法如下:安装:npm i -S express-validator验证:const { body, validationResult } = require('express-validator')const bo原创 2021-03-22 16:31:22 · 1703 阅读 · 0 评论 -
JS事件循环与任务队列(异步原理)
JS事件循环与任务队列(异步原理)让我们先来看下面一道前端面试题:请问以上代码执行的结果是什么?如果你想当然的以为执行的结果是1,2的话,那么就中招了,面试官就会知道你不知道JS的异步原理。其实这道题的正确顺序是先打印2再打印1,那么这是为什么呢?首先我们来看这张图,可以看到图中有三部分,第一部分是Callback Queue(任务队列),第二部分是JS引擎(左边部分),里面有个Heap和Stack,第三部分是WebAPI,包括一些DOM,ajax,setTimeOut等等,这三部分用箭头关联了起原创 2021-03-22 16:30:39 · 382 阅读 · 0 评论 -
每日学习之JS的Object常见方法详解
前言Object.keys()语法Object.keys(obj)参数:obj: 要返回其枚举自身属性的对象返回值:一个表示给定对象的所有可枚举属性的字符串数组例子:传入的参数为对象,返回对象的属性let person = {name:"张三",age:25,address:"深圳",getName:function(){}}Object.keys(person) // ["name", "age", "address","getName"]如果传入的参数是字符串,则返回索引原创 2020-11-09 20:32:00 · 458 阅读 · 0 评论 -
Vue踩坑--‘xxx‘ is assigned a value but never used no-unused-vars
Vue踩坑–‘xxx’ is assigned a value but never used no-unused-vars今天在vue美团外卖实战的时候写商家菜单滚动的时候,弹出一个报错,如下图:经过网上搜索问题答案的时候,得到解决方法如下:在错误代码后加入该行注释就行:// eslint-disable-line no-unused-vars如图:...原创 2020-08-01 22:45:24 · 16608 阅读 · 1 评论 -
今日小坑:Vue-Router之路径routes拼写错误
今天在学习Vue-Router,在写routes路径的时候不小心拼写错误,将routes错拼成了routers,代码如下:错误的拼写:routers:[ {path:"/",component: index}, {path:"/find",component:find}, {path:"/friend",component:friend} ]正确的拼写:routes:[原创 2020-07-23 12:27:36 · 437 阅读 · 0 评论