自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Vue 相同路径的跳转

参考大神链接如下:Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to current location: “/productDetail” 报错解决办法:https://www.cnblogs.com/jiduoduo/p/14517382.html。大神解决同一个路由回退时,页面不刷新问题:https://www.cnblogs.com/caihua0405/p/11265515.html。

2024-04-01 09:47:07 439

原创 vue3 ref reactive区别

ref可以存储原始类型,而reactive不能。ref需要通过访问数据,而reactive()可以直接用作常规对象。可以重新分配一个全新的对象给ref的value属性,而reactive()不能。ref类型为Ref<T>,而reactive返回的反应类型为原始类型本身。基于第四条,ref可以自身管理依赖而reactive则借助全局变量以键值对的形式进行管理。watch默认只观察ref的value,而对reactive则执行深度监听。ref默认会用reactive。

2024-02-28 10:29:14 909

原创 VSCode神技-让双手不离键盘

首先来看命令面板,它是 VS Code 快捷键的主要交互界面,你可以通过 F1 或者“Cmd+Shift+P ”(Windows 上是 “Ctrl+Shift+P”) 打开。这里提醒一下,如无特殊说明,我在这个专栏里默认基于macOS平台进行讲解,但也会本着为你提供方便的原则,同时给出Windows或Linux平台下的操作说明。通过编辑器来实现高效编程的思路是一致的,这和具体的使用平台无关,所以你大可不必为此担心。你可以在命令面板中快速搜索命令并且执行。

2023-12-14 10:06:04 115

原创 TinyMce支持多语言

TinyMce多语言

2023-12-13 17:29:27 63

原创 Nginx配置

Nginx 初用

2023-02-04 11:05:43 105

原创 Java 项目结构

初识后端

2023-01-31 09:01:09 635

原创 Cookie 的 SameSite 属性

2 月份发布的 Chrome 80 版本中默认屏蔽了第三方的 Cookie,在灰度期间,就致使了阿里系的不少应用都产生了问题,为此还专门成立了小组,推进各 BU 进行改造,目前阿里系基本已经改造完成。全部的前端团队估计都收到过通知,也着实加深了一把你们对于 Cookie 的理解,因此极可能就此出个面试题,而即使不是面试题,当问到 HTTP 相关内容的时候,不妨也扯到这件事情来,一能代表你对前端时事的跟进,二还能借此引伸到前端安全方面的内容,为你的面试加分。前端。

2022-11-22 10:19:04 5773

原创 vue router守卫

vue router 实际应用

2022-10-20 15:28:49 178

转载 变量对象详解

js 变量提升

2022-08-17 15:07:42 433 1

转载 Vue slot

表示,父组件可以在这个占位符中填充任何模板代码,如HTML、组件等,填充的内容会替换子组件的标签。使用的组件指定的位置留一个坑,如果在外部,使用其组件包裹某内容(可以是任何模板代码,也可以是HTML,还可以是组件),则该内容就会被分发到......

2022-07-19 14:34:29 152

原创 了解关键渲染路径

DOM渲染路径

2022-07-13 10:10:05 247

原创 DOM 究竟是什么?

DOM渲染

2022-07-13 10:06:50 642

原创 前端面试相关

JavaScript 深度剖析充分掌握ES6-ES12新特性、相关⼯具、迭代器模式 掌握使⽤ Babel 编译、Polyfill 等⽅案处理新特性环境兼容问题 理解单线程下的 JavaScript 异步模式执⾏机制,根治此类⾯试题 掌握 JavaScript 处理异步任务的消息队列和事件循环,以及宏任务和微任务 理解 JavaScript 语⾔⾃有类型系统的不⾜以及相应的解决⽅案 前端工程化 理解前端⼯程化的定义及组成,以及对现代前端项⽬的重要性 理解脚⼿架⼯具的设计思想和⽬标,掌握通⽤型

2022-04-02 09:32:21 91

原创 JS eventLoop

学习资料:https://vimeo.com/96425312http://www.ruanyifeng.com/blog/2014/10/event-loop.html

2022-03-31 17:33:54 847

转载 vue 优化

前言我们在使用 Vue 或其他框架的日常开发中,或多或少的都会遇到一些性能问题,尽管 Vue 内部已经帮助我们做了许多优化,但是还是有些问题是需要我们主动去避免的。我在我的日常开中,以及网上各种大佬的文章中总结了一些容易产生性能问题的场景以及针对这些问题优化的技巧,这篇文章就来探讨下,希望对你有所帮助。使用v-slot:slotName,而不是slot="slotName"v-slot是 2.6 新增的语法,具体可查看:Vue2.6,2.6 发布已经是快两年前的事情了,但是现在仍然有不少人仍然在

2022-03-28 11:37:01 262

原创 Vue router原理

总结:vue-router是vue项目的重要组成部分,用于构建单页应用。单页应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来。路由的本质就是建立url和页面之间的映射关系router 模式hash / historyhash模式是vue-router的默认模式。hash指的是url锚点,当锚点发生变化的时候,浏览器只会修改访问历史记录,不会访问服务器重新获取页面。因此可以监听描点值的变化,根据描点值渲染指定dom。hash监听方法:window.addEventListene

2022-03-28 10:15:43 4454

原创 commonJs AMD

commonjs 解释 CommonJS规范 -- JavaScript 标准参考教程(alpha)commonJs->适用于后端 同步加载commonJs 是一个规范。目的:解决代码模块化 。NodeJs 中使用。CommonJS规范为CommonJS小组所提出,目的是弥补JavaScript在服务器端缺少模块化机制,NodeJS、webpack都是基于该规范来实现的。使用举例:导出var x = 5;var addX = functio...

2021-12-03 16:22:50 102

原创 bind call apply实现

apply.call.bind 都是为了改变函数运行时上下文(this指向)而存在的。三兄弟的区别.三兄弟接收的第一个参数都是 要绑定的this指向. apply的第二个参数是一个参数数组(obj,[a,b,c]),call和bind的第二个及之后的参数作为函数实参按顺序传入(obj,a,b,c)。 bind不会立即调用,其他两个会立即调用。 call 实现apply 实现bind 实现...

2021-10-11 15:55:40 86

原创 A* 思路

序:搜索区域假设有人想从A点移动到一墙之隔的B点,如下图,绿色的是起点A,红色是终点B,蓝色方块是中间的墙。  你首先注意到,搜索区域被我们划分成了方形网格。像这样,简化搜索区域,是寻路的第一步。这一方法把搜索区域简化成了一个二维数组。数组的每一个元素是网格的一个方块,方块被标记为可通过的和不可通过的。路径被描述为从A到B我们经过的方块的集合。一旦路径被找到,我们的人就从一个方格的中心走向另一个,直到到达目的地。  这些中点被称为“节点”。当你阅读其他的寻路资料时,你将经常会看到人们讨论节点

2021-10-11 11:32:22 128

原创 __proto__ 与 prototype

其实说__proto__并不准确,确切的说是对象的[[prototype]]属性,只不过在主流的浏览器中,都用__proto__来代表[[prototype]]属性,因为[[prototype]]只是一个标准,而针对这个标准,不同的浏览器有不同的实现方式。 对象都有__proto__(或者[[prototype]]),而prototype属性是只有函数对象才特有的属性,当你创建一个函数时,js会自动为这个函数加上prototype属性,值是一个空对象。即非函数对象只具有属性_...

2021-10-10 10:17:24 620

原创 伪类 伪元素

伪类:用于已有元素处于某种状态时为其添加对应的样式,这个状态是根据用户行为而动态变化的。例如:当用户悬停在指定元素时,可以通过:hover来描述这个元素的状态,虽然它和一般css相似,可以为已有元素添加样式,但是它只有处于DOM树无法描述的状态下才能为元素添加样式,所以称为伪类。CSS3对伪类的定义伪类存在的意义是为了通过选择器找到那些不存在与DOM树中的信息以及不能被常规CSS选择器获取到的信息。伪类由一个冒号:开头,冒号后面是伪类的名称和包含在圆括号中的可选参数。任何常规选

2021-08-18 17:56:17 157

原创 JS 继承

既然要实现继承,那么首先我们得有一个父类,代码如下:// 定义一个动物类function Animal (name) { // 属性 this.name = name || 'Animal'; // 实例方法 this.sleep = function(){ console.log(this.name + '正在睡觉!'); }}// 原型方法Animal.prototype.eat = function(food) { console.log(this.n..

2021-08-04 11:16:56 83

翻译 JavaScript闭包(closure)

转自:http://blog.leapoahead.com/2015/09/15/js-closure/作用域:其作用的范围作用域链:js 特有的 可访问函数外部变量 C/C++ 不可以哦我研究JavaScript闭包(closure)已经有一段时间了。我之前只是学会了如何使用它们,而没有透彻地了解它们具体是如何运作的。那么,究竟什么是闭包?Wikipedia 给出的解释并没有太大的帮助。闭包是什么时候被创建的,什么时候被销毁的?具体的实现又是怎么样的?"use strict";va

2021-08-04 10:54:13 139

翻译 排序算法

原地址:原文地址 十大经典排序算法(动图演示)1 算法分类十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。2 算法复杂度2.1 相关概念**稳定**:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。**不稳定**:如果a原本在b的前面,而a=b,排序之

2021-04-15 11:00:09 90

原创 切割凹多边形

直线切割凹多边形一,算法原理以上图为例,直线(start,end)切割凹多边形ABCDEFGHIJKLMNOP。记切割线divLine=(start,end)。多边形顶点序列vertexList=(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P)。边序列edgeList=(AB,BC,CD,DE,EF,FG,GH,HI,IJ,JK,KL,LM,MN,NO,OP,PA)...

2019-11-08 16:28:51 776

原创 Export Import

着重介绍3个使用ES模块的常见问题:如何在浏览器中下快速使用export/import?如何在Node下快速使用export/import?当心,不要修改export输出的对象,尽管你能改一、ES模块的优点ES模块的引入主要有以下几个优点:可以将代码分割成功能独立的更小的文件。有助于消除命名冲突。不再需要对象作为命名空间(比如Math对象),不会污染全局变量。ES6 ...

2019-09-20 17:01:29 231

转载 JS闭包理解

让你分分钟理解 JavaScript 闭包闭包,是 Javascript 比较重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是 ECMAScript 规范给的定义,如果没有实战经验,很难从定义去理解它。因此,本文不会对闭包的概念进行大篇幅描述,直接上干货,让你分分钟理解闭包!闭包,一睹为快在接触一个新技术的时候,我首先会做的一件事就是找它的 demo。对于我们来说,看代码比自...

2019-05-31 18:13:25 85

转载 this指向

前端js中this指向及改变this指向的方法js中this指向是一个难点,花了很长时间来整理和学习相关的知识点。一、 thisthis是JS中的关键字, 它始终指向了一个对象, this是一个指针;参考博文:JavaScript函数中的this四种绑定形式this指向及改变this指向的方法二、 this显示绑定和隐式绑定this显示绑定含义: 当一个函数没有明确的调用对...

2019-04-22 15:05:28 243

转载 Cookie与Session

会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session。Cookie机制Cookie技术是客户端的解...

2019-02-22 10:28:53 167

转载 vue 3.0 环境配置

vue-cli3.0 环境变量与模式 vue-cli 环境变量  读完需要 8 分钟vue-cli3.0移除了配置文件目录: config和build文件夹。可以说是非常的精简了,那移除了配置文件目录后如何自定义配置环境变量和模式呢?为什么需要配置环境变量和模式呢?         所有方法肯定是来源于现实的需求。在一个产品的前端开发过程中,一般来说会经历本地开发、测试脚本、...

2019-02-21 15:55:16 1926

转载 JS Es6 Array方法

JS array es6方法定义数组const array = [1, 2, 3];或者const array = new Array();array[0] = ‘1’;建议尽量使用第一种形式定义数组,采用new的形式在大量的数组定义时,会比较耗时。new关键字的使用,除了在需要实例化一个对象,或罕见的需要延时加载数据的情况外,你基本上不需要使用new关键字。在Javascrip...

2019-02-21 10:49:32 7550

空空如也

空空如也

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

TA关注的人

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