自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 基于 ace-editor 实现自定义的 Angular 编辑器组件(基础功能、自定义代码段、自定义关键字、自动完成)

基于 ace-editor 实现自定义的 Angular 编辑器组件(基础功能、自定义代码段、自定义关键字、自动完成)

2022-02-11 15:37:37 1198 2

原创 node.js安装后输入“node -v”提示‘node‘ 不是内部或外部命令,也不是可运行的程序

问题描述node.js安装后输入“node -v”提示’node’ 不是内部或外部命令,也不是可运行的程序问题解决配置环境变量1. 新建用户变量2. 修改系统变量中的 Path,新增 %NODT_PATH%:3. 验证是否解决问题完结撒花!...

2021-06-05 16:21:02 482

原创 git clone时出现Permission denied (publickey)

问题描述git clone时出现Permission denied (publickey)解决步骤1. 启动Git Bash右键,在弹出的快捷菜单中,选择 git bash here:2. 检查是否生成 ssh keycd ~/.sshls从命令执行的结果来看,.ssh 文件夹下没有 xxx_rsa.pub 文件,说明目前在该目录下尚未生成 ssh key。3. 生成 ssh keyssh-keygen -t rsa -C "你的邮箱地址"如上截图所示,输入命令后,按

2021-06-05 10:57:18 2821 1

原创 面试--查缺补漏

2021/04/02互道信息技术(上海)有限公司1. 信息登记表2. 笔试(4道题)(1)js 里的事件循环,代码输出顺序(2)对象里面的函数,普通函数和箭头函数里的 this 指向问题(3)es6 语法实现类继承class Parent { constructor(name) { this.name = name; } sayName() { console.log(this.name); }}class Child ex

2021-05-31 14:24:15 503 4

原创 js 构造函数里的 return 语句

一般来说,使用 new 构造函数(参数) 会得到新创建的对象。但是,如果在 js 的构造函数中,如果有 return 语句,使用 new 运算,会怎么样呢?分 2 种情况:如果返回的是基础数据类型,new 运算会忽略这个语句,得到的是新创建的对象。function Person(name, age) { this.name = name; this.age = age; // return [1,2]; // return function(){}; //

2021-05-10 10:21:18 598

原创 ReferenceError: Unknown plugin “transform-decorators-legacy“ specified in “base“ at 1

问题描述:启动 taro 项目失败,报错信息如下:解决办法

2021-04-08 13:21:40 919

原创 elementui 禁止浏览器自动填充用户名或密码

给 el-input 元素添加 readonly 属性,并在 el-input 元素获得焦点时,移除 readonly 属性。关键代码:readonly οnfοcus="this.removeAttribute('readonly');"elementui 禁止浏览器自动填充密码,代码示例如下:<el-form-item v-show="dialogType === 'add'" label="密码" prop="password" title="密码强度要求:需包

2021-03-29 10:49:30 1132 1

原创 js中的 5 种继承的实现

js 中继承的实现方式很多,下面的代码,包含了 5 种:原型链继承、构造函数继承、组合继承、组合继承优化、寄生组合继承。// 1. 原型链继承// 优点:// (1)子类可以继承父类的实例属性、原型方法// 缺点:// (1)子类从父类继承的实例属性如果是引用类型的,就会操作的同一个对象,相互影响// (2)调用子类的构造函数创建实例时,无法向父类构造函数传递参数function Parent1(name, likes) { this.name = name; this.lik

2021-03-18 12:49:40 113

原创 javascript中的事件循环

javascript 中的事件循环,阐明了代码的执行顺序。其中涉及了调用栈(call stack)、消息队列(message queue)、宏任务(macrotask/task)、微任务(microtask/job)这几个概念。一. 可视化表示下面这个图,是来自 MDN 的事件循环的可视化表示。图中的 Stack 就是事件循环中的调用栈,它其中存放着一个一个的函数调用帧。每个函数调用后,就会创建一个调用帧放入栈中。每个帧都包含着对应函数的参数和局部变量。图中的 Queue 是事件循环中的消息队列

2021-03-04 09:56:08 142 2

原创 JS脚本阻塞问题

脚本调用策略小结:脚本阻塞问题有两种解决方案 —— async 和 defer1. async:如果脚本无需等待页面解析,且无依赖独立运行,那么应使用 async。(异步加载,立即执行:脚本下载完成后,会立即执行;无法保证脚本的执行顺序)2. defer:如果脚本需要等待页面解析,且依赖于其它脚本,调用这些脚本时应使用 defer,将关联的脚本按所需顺序置于 HTML 中。(异步加载,延后执行:脚本下载完成后,会等待页面下载解析完成后,再执行;可以保证脚本按书写顺序执行)...

2021-02-25 09:25:00 316

原创 二叉树基础-1

一. 树树?上面图片所示是是自然树的形态!下图是数据结构中的树,看起来就像倒挂的树(根朝上,叶子朝下)吧!看一下定义吧。树形数据结构是一类重要的非线性数据结构。树形数据结构可以表示数据元素之间一对多的关系。其中以树与二叉树最为常用,直观看来,树是以分支关系定义的层次结构。节点: 树上每个元素(如:A、B、C、D 节点)父子关系: 来连接相邻节点之间的关系(如:A 节点和 B 节点之间为父子关系)父节点和子节点: 相对关系(如:A 节点是 B 节点的父节点,B 节点是 A 节点的子节点)

2021-02-20 14:48:13 100

原创 递归基本点

一. 可以用递归解决的问题的特征问题可以分解为数据规模更小的子问题;原问题和子问题,数据规模不一样,但是求解思路完全一样的;问题存在终止条件。二. 编写递归代码的关键找到递推公式,推导出终止条件,将它们改写为代码就可以了。三. 编写递归代码要注意的点堆栈溢出问题可使用一个变量来统计函数调用次数。当函数调用次数很大时,停止调用,直接抛出异常。重复计算问题使用一个 HashMap 来存储每次计算出来的结果。在每次计算前,先查看 HashMap 里有没有缓存过要计算的输入对应的结果

2021-02-08 13:29:15 86

原创 Javascript 实现链表的常见操作

1. 单链表反转2. 链表中环的检测3. 两个有序的链表合并4. 删除链表倒数第 n 个结点5. 求链表的中间结点/** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * this.next = null; * } *//** * @param {ListNode} head * @return {ListNode} */var middle

2021-02-04 13:07:54 150

原创 数组和链表(回文链表、双向链表实现 LRU 缓存)

思路1:遍历链表节点,将其中的值保存到数组中,使用数组的 reverse() 和 join() 方法,就能比较轻松的判断出是否回文串。/** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * this.next = null; * } *//** * @param {ListNode} head * @return {boolean} */var .

2021-02-03 14:10:00 248

原创 时间复杂度和空间复杂度

前言在计算机领域中,经常用时间复杂度和空间复杂的来客观描述某个算法或者某段代码的执行效率(执行时间)和内存消耗(内存使用情况)。一. 大 O 复杂度表示法在分析某个算法或者代码的执行效率或者内存消耗时,经常能看到 O(1)、O(n) 这类似的表示,它们就是复杂度的表示方法。那它们又是怎么得到的呢?现在,用大 O 复杂度表示法,来分析下面这段代码的执行时间。 function cal(n) { let sum = 0; for (let i = 1; i <= n; i++) {

2021-01-31 22:29:23 115

原创 从0开始,数据结构和算法是什么?

数据结构和算法是什么从广义上来看,数据结构可以理解成对数据存储方式的一种结构化的描述,而算法则是为达到某种目的,对数据进行处理的一系列的步骤。其实,数据结构和算法的使用,在日常的工作和生活中,是很常见的。举个生活中的例子来看:图书馆的书的排列存储也是具有一定的结构的。比如说:按类别的不同,划分不同的区域;在特定的区域,再按照作家、发行时间等依据进行书架、行列的划分,对每一本书进行编号排列。在这个例子中,书籍 --> 数据项;图书馆划分区域、书架、行列的规则 --> 数据存储的特点

2021-01-30 18:27:53 99

原创 element-ui table 实现客户端自定义列的显示隐藏

文章目录前言一、最终实现的效果图二、实现步骤1. 列设置数据定义2. 本地数据存取方法封装2. 给表格添加右键出现的菜单3. 列设置数据与表格列进行关联4. 其它问题1. 列由隐藏,设置为显示后,表格抖动、样式错乱?总结前言提示:功能实现过了好久了,突然想起来一直没做个总结。好记性不如烂笔头,gogogo!使用 element-ui 的 <el-table> 来显示系统中各种各样的数据,感觉美滋滋啊,方便又美丽。直到那天,来了个需求:给表格添加上数据列自定义显示/隐藏的功能。开始研究文档

2020-12-16 16:37:05 4607 3

原创 vue 2 迁移到 vue 3 细节总结

Vue.js 3.0 在北京时间 2020 年 9 月 19 日凌晨,终于发布了 3.0 版本,代号:One Piece。查看 vue 3.0 文档 后,总结记录一下从 vue 2 迁移到 vue 3 所需的一些更改,方便日后对比学习新版本。与 vue 2.x 比较,将 vue 3.0 中的改动分类为 3 种:new:新增部分;breaking: 具有破坏性的部分。对 vue 2.x 中的对应功能的语法、语义等做出了调整;removed:从 Vue 3.0 中删除,不再受支持。下面主要记录

2020-09-24 14:15:14 2859

原创 HTTP 协议学习笔记 - 3

本文为学习极客时间的《透视HTTP协议》的学习笔记!本文图片来源于专题文章中。一、HTTP 报文里的 body1. 数据格式与压缩类型请求头字段响应头字段含义请求取值示例响应取值示例AcceptContent-TypeMIME type(客户端可处理的数据类型)text/html,application/xml,image/webp,image/pngtext/htmlAccept-EncodingContent-EncodingEncoding type(

2020-09-22 10:19:33 314

原创 HTTP 协议学习笔记 - 2

本文为学习极客事件的《透视HTTP协议》的学习笔记!本文图片来源于专题文章中。一、键入网址再按下回车,后面发生了什么1. 使用 IP 地址访问 Web 服务器过程简述:浏览器从地址栏获取到输入 IP 地址和端口号;基于 TCP 的三次握手,浏览器与 Web 服务器建立连接;浏览器向服务器发送请求报文;服务器收到请求后,解析报文,处理请求,返回响应报文;浏览器收到响应后,解析报文,渲染输出页面。2. 使用域名访问 Web 服务器过程简述:浏览器从地址栏获取到输入的域名和端口号;

2020-09-12 15:46:18 189

原创 HTTP 协议学习笔记 - 1

本文为学习极客事件的《透视HTTP协议》的学习笔记!本文图片来源于专题文章中。一、HTTP 发展历程HTTP 协议始于三十年前蒂姆·伯纳斯 - 李的一篇论文;HTTP/0.9 是个简单的文本协议,只能获取文本资源;HTTP/1.0 确立了大部分现在使用的技术,但它不是正式标准;HTTP/1.1 是目前互联网上使用最广泛的协议,功能也非常完善;HTTP/2 基于 Google 的 SPDY 协议,注重性能改善,但还未普及;HTTP/3 基于 Google 的 QUIC 协议,是将来的发展方向

2020-09-06 14:44:08 167

原创 使用多个 echarts 图表后,页面卡住、白屏?

1. 问题表现在项目的网站首页,绘制了 5 个 echarts 图表,每次进入页面,都会去后台获取最新的数据,用于绘制图表。测试通过 --> 上线… 相安无事,peace and love????!直到有一天,有人连续点了若干次的刷新页面,发现,页面卡住了,除了关闭这个页面,已经不能进行其它的任何操作了。开始想办法!2. 解决办法打开任务管理器后,发现这个页面进程的 CPU 占用率最高的时候,竟然达到了30%多,这自然就会卡了。通过浏览 echarts 官网,发现了一个解决办法:1.

2020-07-29 17:03:37 7944 2

原创 echarts 南丁格尔图 -- 拯救极小值

<template> <div :id="id" :class="className" :style="{ height:height, width:width }" /></template><script>import { mapGetters } from "vuex";import "./themes/classic.js";export default { name: "LocationPieChart", prop...

2020-07-29 16:28:36 2767 2

原创 Chrome - CSS Overview

1. CSS Overview 介绍在 chrome 的管理面板中,开启 CSS Overview 面板后,就可以查看当前网站的样式信息,包括:颜色信息、字体信息、媒体查询等,对于开发页面来说,非常好用。用来看看别人的优秀的网站样式信息,也很方便!下面是 CSS Overview 面板显示的网页样式信息截图:2. 启用 CSS Overview 面板CSS Overview 现在还是一个实验属性,默认是不开启的。要使用它,需要手动启动它!下面就是启用它的步骤:点击控制工作面板右上角的设置图标按钮

2020-07-15 10:44:21 1143

原创 Vue + iview select 表单校验明明有值,却提示没值

1. 问题说明在使用 iview 中的 select 表单项时,绑定必填校验规则后,遇到了这个神奇的问题:明显选中了值,打印出来也有值 – 一个整型的 id 值;但是,表单始终提示没有选择值!这是什么骚操作?表单部分截图如下:2. 解决办法查看 iview 官方组件使用文档,没有找到问题端倪…google 一下,找到了可行的解决办法:将 select 表单项绑定的值改为字符串类型 :value="item.value+''" :<FormItem label="基地名" prop="ta

2020-06-30 10:33:25 3939

原创 Vue 项目打包后,报:Cannot read property ‘echarts’ of undefined

1. 问题说明在 Vue 项目中,使用 echarts 来为项目添加图表。在本地运行测试时,是正常无错误的。可是,当把项目打包上线时,页面一直是白屏,且浏览器控制台输出如下错误:TypeError: Cannot read property 'echarts' of undefined错误信息截图如下:2. 问题分析从错误信息推测,是某个地方使用 x.y 形式调用 echarts 时,x 为 undefined 导致的错误。回到项目里,使用到 echarts 的地方大致有 2 处,分析一下:

2020-06-29 08:58:30 4343

原创 在 VUE 项目中,设置 echarts 图表为响应式布局

1. 浏览器页面尺寸变化,图表自动改变尺寸在 echarts 中绘制图表,都是使用预先指定了一个明确尺寸的 DOM 容器。这也就意味着,图表一旦渲染完成,后续页面尺寸发生变化,图表也不会重新绘制以及改变尺寸。图表绘制完成后,容器尺寸变小,图表右侧部分被遮住:这时候,需要手动调用 echarts 实例的 resize 方法来解决。// resize methodresize() { this.chart.resize();}// mounted 生命钩子中,绑定 resize 事件处理函数

2020-06-28 10:27:00 3136

原创 在 Vue 项目中使用 echarts

1. 安装 echarts安装 echarts 用 npm install 就可以了。npm install echarts要是下载很慢,可以使用 cnpm 来安装。npm install -g cnpm --registry=https://registry.npm.taobao.orgcnpm install echarts2. 在 Vue 文件中创建图表创建图表的代码比较简单。<template> <div :id="id" :class="classNam

2020-06-24 14:16:23 170

原创 《响应式Web设计:HTML5和CSS3实战》-- 阅读笔记1

响应式网页设计概述1. 定义响应式网页设计(RWD,Responsive Web Design)这个术语,由伊桑-马科特(Ethan Marcotte)提出。他在A List Apart发表了一篇开创性的文章,将三种已有的开发技巧(弹性网格布局、弹性图片、媒体和媒体查询)整合起来,并命名为响应式网页设计。这个术语还有一堆表示相同意思的其他叫法,如流式设计、弹性布局、塑料布局、流体设计、自适应布局、跨设备设计以及弹性设计。一言以蔽之,响应式网页设计是针对不同的设备,对同样的网页内容进行完美布局的显示机

2020-06-18 14:02:21 476

原创 《响应式Web设计:HTML5和CSS3实战》-- 阅读笔记2

响应式网页设计中的 HTML5响应式设计的“移动优先”(mobile first)思想使它很适宜采纳 HTML5 中最简洁、最有效和最具语义的代码。1. 腻子脚本腻子脚本(polyfill)这个词由Remy Sharp提出,意指使用腻子来补平老版本浏览器的缺陷。因此,腻子脚本具体指的是一段能给老版本浏览器带来新特性的JavaScript代码。IE9以前的老的浏览器不支持 HTML5 中提出的新特性。因此,JavaScript 专家 Remy Sharp 开发了一个轻量级的增强脚本,在HTML5网页中

2020-06-18 14:00:27 208

原创 谈谈 vue + element-ui 的后端排序

前言element-ui 在 el-table 组件中提供了很多可用于排序的属性和方法,可用于前端排序或者后端排序。相对于前端排序,后端排序更复杂一些,也更常用一些。下面记录的是在实现后端排序时,实现多列排序的过程。实现多列排序为单列添加排序根据 element-ui 的文档,可以很容易的实现一个后端排序。使用 el-table 实现后端排序,需将 sortable 设置为 custom,同时在 table 上监听sort-change 事件,在事件回调中可以获取当前排序的字段名和排序顺序,从

2020-06-02 22:23:48 3182

原创 JS 实现 10 大经典排序算法

0. 算法复杂度排序算法时间复杂度(平均)空间复杂度稳定性冒泡排序O(n2)O(1)稳定快速排序O(nlog2n)O(log2n)不稳定简单插入排序O(n2)O(1)稳定shell 排序O(n1.3)O(1)不稳定简单选择排序O(n2)O(1)不稳定堆排序O(nlog2n)O(1)不稳定二路归并排序O(nlog2n)O(n)稳定计数排序O(n + k)O(n + k)稳定桶排序O(n

2020-05-14 08:49:12 456

原创 Vue 源码学习 --事件 event

1. 事件概述Vue 中的事件可以分为 2 类:原生 DOM 事件、自定义事件。两者在使用方式、用途、源码处理的实现上存在区别。使用方式:原生 DOM 事件可用在原生 DOM 元素上,也可用在组件上(这种情况下,需使用 .native 修饰符);自定义事件只能在组件上使用。用途:它们都具有事件的基本用途 – 界面与用户交互;而自定义事件还经常用于父子组件之间的通信。源码实现:原生 ...

2020-04-28 23:19:51 223 1

原创 Vue源码学习 -- 响应式原理之观察者模式

1. 观察者模式概念观察者模式又被称为 发布-订阅 模式,这种模式定义了对象间的一种一对多的依赖关系。当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知,并完成自动更新。优点观察者与被观察者是抽象耦合的建立了一套触发机制缺点被观察者有很多的观察者时,通知更新这一过程会花费很多的时间观察者和被观察者之间存在循环依赖的话,可能导致系统奔溃现实中的例子......

2020-04-26 16:48:43 1784 4

原创 vue - element 分页器 Pagination 组件封装

1. Pagination.vue<template> <div :class="{'hidden':hidden}" class="pagination-container"> <el-pagination :background="background" :current-page.sync="currentPage" ...

2020-04-24 10:58:00 1399

原创 vue - element 表格使用总结(分页器、查询表单、多级表头、展开行、自定义列、后端排序、响应式高度)

element 表格使用总结

2020-04-22 15:24:49 2593

原创 npm & gulp & webpack 基础

npm & gulp & webpack 基础一、npm1. 基础概念管理依赖包的一个工具。npm 由三个独立的部分组成:网站注册表(registry)命令行工具 (CLI)2. 创建 package.json 文件的两种方式npm init用这种方式来创建 package.json 文件,在生成这个文件的过程中,需要自己根据命令行的提示,输入要求的...

2020-04-20 11:06:13 286

原创 前端开发基础知识总结

前端开发基础知识 – 总结1. HTML常用的 meta 头html 中的 meta 标签总是位于 head 标签中,用于定义关于页面的一些原数据meta 标签中的属性是以属性名=属性值的形式定义的meta标签的两大属性:name(页面描述信息)、http-equiv(http标题信息)name属性(1)keywords(关键字)(2)description(页面内容描...

2020-04-20 10:57:53 760

原创 Vue.js 学习笔记 -- 基础

Vue.js 学习笔记零、介绍Vue是一套用于构建用户界面的渐进式框架。1、起步在 html 文件中引入 vue<!DOCTYPE html><!-- 开发环境版本,包含有帮助的命令行警告信息 --> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></sc...

2020-04-20 10:52:28 338

原创 ES6 基础 -- 变量

ES6 基础1. ECMAScript 简介(1). ECMAScript 和 JavaScript 的关系ECMAScript 是 JavaScript 的规范,JavaScript 是 ECMAScript 的一种实现。(2). ES6 与 ECMAScript 2015 的关系ES6 是一个泛指,含义是 ES5.1 版本以后的 JavaScript 的下一代标准,涵盖了 ES...

2020-04-20 10:47:54 2502

空空如也

空空如也

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

TA关注的人

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