自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(145)
  • 资源 (1)
  • 收藏
  • 关注

原创 vue 知识点复盘

本文整理了 vue 常用知识要点及实战技巧。1.vue生命周期 2.$on, $once 的使用 3.指令与修饰符 4.computed,watch 的使用与比较 5.组件间的通信方式 6.全局组件,局部组件,动态组件,异步组件,递归组件 7.单文件组件中 name 值的作用 8.v-show 与 v-if 的比较 9.key 的作用 10.双向绑定原理 11.默认插槽,具名插槽,作用域插槽 12.混入(mixin)13.函数式组件 14.自定义指令

2020-10-19 14:56:54 267 2

原创 前端中高级知识要点总结

本文整理前端常见的知识要点,方便随时复盘。内容主要涵盖JS基础、CSS、HTML,JS面向对象,渲染机制,网络HTTP,前端安全,设计模式,算法等方面。注:文章内容相对而言有一定的难度,所以需要读者有一定的基础。另外,若文章有何不妥之处或者你有任何疑问,欢迎留言讨论。一.JS基础1.手写实现call()call()、apply()和bind()这是前端人逃不过的三个方法,是从初级向中级进阶所必会的。通过使用这些方法,我们可以修改函数绑定的this,使其成

2020-10-09 22:59:51 708 3

原创 前端 coder 都需要掌握那些技术?

目前前端招聘一般都要求开发者掌握那些技术呢?我从近期的招聘信息中整理了以下内容。目录如下:一.网页开发 二.小程序 三.移动端 四.桌面端 五.其他技术一.网页开发这里指PC端网页开发,要求的技术主要有以下几类:...

2020-03-08 01:59:04 527

原创 vue 相关的 UI 库和插件

本文整理一些自己使用过的UI库和插件一.vue相关的UI库1.element ui自己比较常用的ui库,后台系统还有vue-element-admin,后台效果请看https://panjiachen.gitee.io/vue-element-admin/#/dashboardhttps://panjiachen.github.io/vue-admin-template/#/...

2019-11-26 16:24:29 443

原创 前端学习与工作中常用网站推荐

一.视频学习网站1.慕课网(质量好,价格较贵,更专业,废话少)2.腾讯课堂(质量参差不齐,价格便宜,较啰嗦)。。。当然还有很多其他的视频学习网站,但我觉得就这两个就够质够量了。二.前端免费模板下载1.html5tricks有很多有趣的小程序2.源码之家各类模板灰常之多,不过也有很多广告3.代码家园整个网站看起来舒服,广告很少4.模板之家广告较...

2019-11-12 13:48:11 16705 13

原创 element 使用过程中遇到的问题及解决方法

记录一些使用element框架的疑问与坑使用版本:2.12.01.element 表格某项格式化formatter这里有个问题:当鼠标移动到表格上时,会再次触发formatter,而这个是没有必要的,我们只需格式化一次,但不知道它这么做的原因是啥。span-method配置也是这种问题2.element-ui表格合并span-method表格合并这块需要自己写合并规则,有一点...

2019-10-31 14:47:15 1337

原创 用 JS 给图片加文字水印或图片水印

1.加文字水印示例代码: function blobToImg(blob) { return new Promise((resolve, reject) => { let reader = new FileReader() reader.addEventListener('load', () => { let img = new Image() img.src = reader.result img.addEv

2021-06-21 14:29:53 10

原创 JS 设计模式总结

设计模式是在特定场景下针对某一问题的一种解决方案。合理的使用设计模式,将让编码事半功倍。学习设计模式前,需要读者掌握闭包、高阶函数、call/apply、this 等前置知识。一.设计原则设计模式有六大原则:单一职责原则、开放封闭原则(也称开闭原则)、里氏代换原则、合成复用原则、接口隔离原则和迪米特法则(也称为最小知识原则)。这里主要介绍三种:单一职责原则、开放封闭原则和最小知识原则。1.单一职责原则就一个类而言,应该仅有一个引起它变化的原因。在JavaScript中,由于类使用得并不多

2021-03-18 14:07:08 53

原创 有趣的前端面试题——后篇:答案篇

看代码得结果 题1var a = 1if (true) { console.log(a) let a = 2}结果:ReferenceError: Cannot access ‘a’ before initialization // 初始化之前无法访问 ‘a’考点:暂时性死区原因分析:如果区块中存在 let 和 const 命令,则这个区块对这些命令声明的变量从一开始就形成封闭作用域,这种现象就叫 “暂时性死区”。其本质就是,只要进入当前作用域,所要使用的变量就已经存在,但是不可获取,

2021-03-18 09:22:53 71 1

原创 有趣的前端面试题——前篇:题目篇

本文为——前篇:题目篇,想看答案及解析可见有趣的前端面试题——后篇:答案篇1.看代码得结果 题1var a = 1if (true) { console.log(a) let a = 2}2.看代码得结果 题2var a = {n: 1}var b = aa.x = a = {n: 2}console.log(a.n, b.n)console.log(a.x, b.x)3.看代码得结果 题3var c = 1function c(c) { console.log

2021-03-18 09:21:41 49

原创 我的前端书单

本文整理了我已读,在读,想读的前端知名的书籍,以供大家参考!1.《ES6 标准入门》第三版状态:已读我最初是通过这本书学习 ES6 的,非常不错!本书也是开源免费的,作者的线上版本:https://es6.ruanyifeng.com/。2.《JavaScript 高级程序设计》第四版状态:在读我手上还有第三版,已读。第四版主要增加了 ES6 相关知识,如果买了这本书也可以不买《ES6 标准入门》了。虽然名称中带有高级,但本书的阅读难度很低。本书被列为前端必读书籍,所以.

2021-03-05 16:27:04 88

原创 axios 源码精读

前言阅读框架源码的好处在于提升编程水平,以及了解框架的设计思想,配合其官方文档,让我们对它的使用变得更加得心应手。axios 是一个小而精的框架,不像 vue 那般庞大复杂让人望而生畏,阅读也起来相对容易。在阅读源码前,建议掌握 call、apply、bind,Promise,闭包,this 指向,原型链等知识,以及一些设计模式。1.目录结构axios 的源码在 lib 目录,其结构如下在正式介绍源码前,先回顾一下 axios 的常见的使用姿势,以便更好的理解源码。2.axios 的使用姿势

2021-03-04 15:21:36 2060 7

原创 nuxt.js 从 <入门> 到 <开发> 到 <部署>

1.创建nuxt项目https://www.cnblogs.com/bien94/p/12572527.html2.nuxt项目部署https://www.cnblogs.com/plBlog/p/11428131.html

2021-01-29 09:07:06 102

原创 获取 IE 浏览器版本以及判断是否开启 cookie

本文实现两个功能获取 IE 浏览器版本 判断浏览器是否开启 cookie1.获取 IE 浏览器版本2.判断浏览器是否开启 cookie

2020-12-16 13:54:48 94

原创 vue 开发中必备的 cli 配置

本文整理了一些 vue 开发中常用 vue-cli 配置,使用的 vue-cli 版本为 3.11.0,主要内容包括:移除preload 与prefetch 使用webpack-bundle-analyzer 做打包分析 使用terser-webpack-plugin 清除 console.log 使用compression-webpack-plugin 开启gzip 压缩 配置使用CDN 方式引入资源库 自定义打包的css/js/图片 文件名和路径 压缩图片文末给出了完整...

2020-12-10 17:59:24 122

原创 Linux 服务器部署 vue(SPA) 与 nuxt(SSR)项目

1.安装 node下载 node 包,选择 Linux Binaries (x64) 版本:https://nodejs.org/en/download/解压tar -xvf node-v14.15.0-linux-x64.tar.xz配置环境变量vim /etc/profile往 .bash_profile 新增环境变量(在末尾)export NODEJS_HOME=/usr/local/node/node-v14.15.0-linux-x64export PATH=

2020-12-08 15:47:15 320

原创 Vue SPA 解决浏览器缓存问题

如何让发布到线上的 vue 单页应用能及时更新到浏览器,而无需用户强制刷新页面呢?因为 js、css、图片等资源文件名带有 hash 值,只要文件名变了就会更新,所以可以设置缓存,但 html 文件名没有加 hash 值,所以不能缓存该文件。

2020-12-01 11:37:58 914

原创 JS 常用运算符/操作符,让编码更简洁

本文整理一些 JS 中常用的运算符,其目的在于简化代码。1. ! 逻辑非如果要将一个值转为 Boolean 类型,我们常想到 Boolean() 转型函数来实现,其实也可以用 ! 逻辑非运算符实现!!val // 等价于 Boolean(val)2.&& 逻辑于对于以下代码可以用 && 逻辑于改写if (val) { myFunction()}改写后val && myFunction()对于赋值语句也可以这样写

2020-11-30 17:07:51 76

原创 JS 判断是否为对象或数组的几种方法

一.判断值是否是对象1.toString 方式【常用】Object.prototype.toString.call(val) === '[object Object]'注意:这里要使用 call 方法改变作用域2.constructor 方式val?.constructor === Object这里使用了 null 传导符(?.) 以防止出错3.typeof 与 instanceoftypeof 与 instanceof 并不能完全判断一个值为对象typeof 的取值

2020-11-27 16:42:03 1155

原创 JS 文件下载各类方式汇总

我们比较容易想到以下两种下载方式(一)window.location.href这种方式比较常见,比如我们在一些网站上下载电子书,安装包之类的,一般都是这种方式下载的window.location.href = downloadUrl这种方式适用于下载一些静态资源(二)<a> 标签方式export function downloadApi() { return request({ url: '/testApi', method: 'get', r.

2020-10-12 10:29:49 156 1

原创 Vue:禁用浏览器的前进后退

一.禁用前进后退功能在开发vue应用中,如何禁用浏览器的前进后退功能呢?网上搜到的答案基本如下:history.pushState(null, null, document.URL)window.addEventListener('popstate', function() { history.pushState(null, null, document.URL)})但应该放在哪儿?经过尝试,我是如此写的:main.js中,增加popstate监听window.add

2020-08-15 14:11:42 1884 2

原创 JS高程-6-3:继承

文章为《JavaScript高级程序设计》(第三版)笔记。两种继承方式:接口继承和实现继承。接口继承只继承方法签名,实现继承则继承实际的方法。ECMAScript只支持实现继承,主要依靠原型链来实现。一.原型链ECMAScript中将原型链作为实现继承的主要方法。其基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。在此之前,我们有必要搞清楚构造函数、原型和实例的关系:...

2020-04-29 21:41:17 112

原创 JS高程-6-2:创建对象

文章为《JavaScript高级程序设计》(第三版)笔记。虽然Object构造函数或对象字面量都可以用来创建单个对象,但这些方式有个缺点:使用同一个接口创建很多对象,会产生大量的重复代码。一.工厂模式这种模式抽象了创建具体对象的过程。function createPerson(name, age, job) { var o = new Object(); o.name =...

2020-04-28 00:35:26 99

原创 JS高程-6-1:理解对象

文章为《JavaScript高级程序设计》(第三版)笔记。ECMA-362把对象定义为:“无序属性的集合,其属性可以包含基本值、对象或者函数”。一.创建对象的几种方式1.字面量var o1 = { name: 'o1' };2.new Objectvar o11 = new Object({ name: 'o11' });// 也可这样写var o11 = new...

2020-04-27 12:49:56 184

原创 JS高程-5-3:基本包装类型和单体内置对象

文章为《JavaScript高级程序设计》(第三版)笔记。一.基本包装类型基本包装类型包括:Boolean、Number和String。1.Boolean类型这里我们需要理解基本类型布尔值与引用类型布尔值的区别。var falseObject = new Boolean(false); // 引用类型var falseValue = false; ...

2020-04-01 20:25:58 72

原创 JS高程-5-2:Date类型、RegExp类型和Function类型

文章为《JavaScript高级程序设计》(第三版)笔记。一.Date类型使用new操作符和Date构造函数即可创建一个日期对象。var now = new Date();在调用Date构造函数而不传递参数的情况下,新创建的对象自动获得当前日期和时间。Date.now()方法,返回表示调用这个方法时的日期和时间的毫秒数。// 取得开始时间var start = Dat...

2020-03-29 23:58:11 93

原创 JS高程-5-1:Object类型和Array类型

文章为《JavaScript高级程序设计》(第三版)笔记。一.Object类型创建Object实例的方式有两种。第一种使用new操作符,第二种使用对象字面量表示法。// 第一种:new操作符var person = new Object();person.name = 'Tom';// 第二种:字面量方式var person = { name: 'Tom'}访问对...

2020-03-29 14:18:37 123

原创 vue:[Warnings] There are multiple modules with names that only differ in casing.

There are multiple modules with names that only differ in casing.This can lead to unexpected behavior when compiling on a filesystem with other case-semantic.详细错误如下:

2020-03-25 13:26:11 88

原创 JS高程-4:变量、作用域和内存问题

文章为《JavaScript高级程序设计》(第三版)笔记。这一章,并没有太多有趣的东西,这里就将书中的小结罗列出来吧。(1)JavaScript变量可以用来保存两种类型的值:基本类型值和引用类型值。基本类型的值源自以下5种基本数据类型:Undefined、Null、Boolean、Number和String。基本类型值和引用类型值具有以下特点:基本类型值在内存中占据固定大小的...

2020-03-25 11:43:31 100

原创 JS高程-3-3:语句与函数

文章为《JavaScript高级程序设计》(第三版)笔记。本小节包括:

2020-03-20 21:40:53 74

原创 JS高程3-2:操作符

文章为《JavaScript高级程序设计》(第三版)笔记。本小节包括:1.一元操作符 2.位操作符 3.布尔操作符 4.乘性操作符 5.加性操作符 6.关系操作符 7.相等操作符 8.条件操作符 9.赋值操作符 10.逗号操作符1.一元操作符只能操作一个值的操作符叫一元操作符。(1)递增和递减操作符有两种类型:前置型和后置型var num1 = 2;...

2020-03-19 21:39:02 62

原创 JS高程-3-1:数据类型

文章为《JavaScript高级程序设计》(第三版)笔记。js中有7种数据类型,分别是:Undefined、Null、Boolean、Number、String 和 Object,ES6中又新增一个 Symbol。...

2020-03-16 00:06:47 110

原创 JS高程-2:在HTML中使用JavaScript

文章为《JavaScript高级程序设计》(第三版)笔记。本节内容<script>的6个属性 <script>标签的位置 延迟脚本-defer 异步脚本-async 嵌入代码与外部文件 文档模式1.HTML5为<script>定义了6个属性async:可选。表示应该立即下载脚本,但不应妨碍页面中的其他操作,比如下载其他资源或脚本。只对外部...

2020-03-12 23:03:53 62

原创 JS高程-1:JavaScript简介

文章为《JavaScript高级程序设计》(第三版)笔记。一.JavaScript简介JavaScript诞生于1995年。当时,它的主要目的是处理以前由服务器端语言(如Perl)负责的一些输人验证操作。在JavaScript问世之前,必须把表单数据发送到服务器端才能确定用户是否没有填写某个必填域,是否输人了无效的值。NetscapeNavigator希望通过JavaScript来解...

2020-03-11 22:51:46 65

原创 LeetCode:41. 缺失的第一个正数

题目描述:给定一个未排序的整数数组,找出其中没有出现的最小的正整数。示例1:输入: [1,2,0]输出: 3示例2:输入: [3,4,-1,1]输出: 2示例3:输入: [7,8,9,11,12]输出: 1说明:你的算法的时间复杂度应为O(n),并且只能使用常数级别的空间。题目链接:https://leetcode-cn.com/problems/fi...

2020-03-03 23:36:14 57

原创 LeetCode:164. 最大间距

题目描述:给定一个无序的数组,找出数组在排序之后,相邻元素之间最大的差值。如果数组元素个数小于 2,则返回 0。示例1:输入: [3,6,9,1]输出: 3解释: 排序后的数组是 [1,3,6,9], 其中相邻元素 (3,6) 和 (6,9) 之间都存在最大差值 3。示例2:输入: [10]输出: 0解释: 数组元素个数小于 2,因此返回 0。说明:你可以假...

2020-03-01 15:10:21 81

原创 LeetCode:215. 数组中的第K个最大元素

题目描述:在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。题目链接:htt...

2020-02-28 17:08:36 48

原创 LeetCode:905. 按奇偶排序数组

题目描述:给定一个非负整数数组 A,返回一个数组,在该数组中,A 的所有偶数元素之后跟着所有奇数元素。你可以返回满足此条件的任何数组作为答案。示例:输入:[3,1,2,4]输出:[2,4,3,1]输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。提示:1 <= A.length <= 50000 <= A[i] &l...

2020-02-23 23:37:37 45

原创 排序--冒泡排序与选择排序

最近复习大学学过的算法,这里做个笔记。排序,我们学过这里需要了解什么是时间复杂度,什么是空间复杂度。简单而言,时间复杂度指运行的次数,空间复杂度指消耗的内存。一.冒泡排序我们看下百度百科中的定义:它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素...

2020-02-19 11:47:46 47

原创 LeetCood:10. 正则表达式匹配

给你一个字符串s和一个字符规律p,请你来实现一个支持 '.'和'*'的正则表达式匹配。'.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖整个字符串s的,而不是部分字符串。说明:s可能为空,且只包含从a-z的小写字母。p可能为空,且只包含从a-z的小写字母,以及字符.和*。示例 1:输入:s = "aa"p = "a"输出: false解释: "a" 无法匹配 "aa" 整个字符串。示例 2:输入:s =

2020-02-14 13:06:39 74

阿里前端开发规范.pdf

整理的阿里前端代码开发规范

2021-04-17

空空如也

空空如也

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

TA关注的人 TA的粉丝

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