自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 前端想学习后端需要下载那些东西

【软件】前端想学习后端需要下载那些东西。

2024-06-05 16:06:49 359

原创 echarts指标盘属性概括

【代码】echarts指标盘数据概括。

2024-05-10 14:00:39 245

原创 常见遍历方法 for循环、forEach、map、filter、find、findIndex、some、every

来自于远古的遍历方式,并且涵盖多种手段,例如for in 和for of。

2023-06-13 16:05:30 554

原创 mac本前端Homebrew、nvm、node、git下载,操作

下载

2023-02-26 17:00:52 3900 1

原创 Vue使用WebUploader上传文件/压缩包

Vue使用WebUploader上传文件/压缩包npm i webuploader -S引入//引入webuploaderimport WebUploader from "webuploader";import "webuploader/dist/webuploader.css";页面<el-row class="webUploader"> <el-col :span="24" class="mb20" :style="{ display: 'flex' }"&g

2022-05-06 19:10:40 3110

原创 一个对象中存在两个相同属性重叠解决方法

一个对象中存在两个相同属性重叠解决方法 //let obj ={ //a:1, //a:2 // } let formData = new FormData(); for (let i = 0; i < direction.length; i++) { formData.append('file', direction[i]) formData.append('buckName', 'interfaced

2022-05-06 18:54:07 892

原创 数据转化为FormData格式

转化数据为FormData格式 var form_data = new FormData(); form_data.append("author", this.objStart.author); form_data.append("file", this.objStart.file); form_data.append("filePath", this.objStart.filePath); form_data.append

2022-05-06 18:49:51 2901

原创 vue时间格式装换为‘yyyy-MM-dd hh:mm:ss’补0

vue时间格式装换为‘yyyy-MM-dd hh:mm:ss’补0第一种使用三元调用即可dealWithTime(date) { let Y = date.getFullYear()     let M = date.getMonth() + 1 - 0 >= 10 ? Number(date.getMonth()) + 1 : '0' + (Number(date.getMonth()) + 1) let D = date.getDate() let h

2021-07-14 11:20:36 582

原创 在angular使用ng-alain框架中使用插槽

在angular使用ng-alain框架中使用插槽在数据中定义 render:'custom’作为标记

2021-07-13 11:12:09 135

原创 input去除前后空格

input去除前后空格 <input onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')" nz-input placeholder="请输入" />使用onkeyup在数据中空格还是存在的,但是在输入框不显示,在使用数据时可以在截取下空格...

2021-06-30 15:45:13 1259

原创 字符串操作方法总结

String对象属性(1)length属性length算是字符串中非常常用的一个属性了,它的功能是获取字符串的长度。当然需要注意的是js中的中文每个汉字也只代表一个字符,这里可能跟其他语言有些不一样。var str = 'abc';console.log(str.length);(2)prototype属性prototype在面向对象编程中会经常用到,用来给对象添加属性或方法,并且添加的方法或属性在所有的实例上共享。因此也常用来扩展js内置对象,如下面的代码给字符串添加了一个去除两边空格的方法

2021-06-24 15:18:41 225

原创 javaScript常用的操作和对象方法

写一些比较常用的操作如果不全多谢评论谢谢!!!1.filter多用过滤创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。比如,创建一个学生年龄数组,该数组的值必须大于法定饮酒年龄:const studentsAge = [17, 16, 18, 19, 21, 17];const ableToDrink = studentsAge.filter( age => age > 18 );// [19, 21]2.map()返回值创建一个新数组,其结果是该数组中的每个元

2021-06-24 10:43:23 94

原创 前端的一些实用算法题

前端的一些算法很实用1.判断一个单词是否是回文?回文是指把相同的词汇或句子,在下文中调换位置或颠倒过来,产生首尾回环的情趣,叫做回文,也叫回环。比如 mamam redivider .很多人拿到这样的题目非常容易想到用for 将字符串颠倒字母顺序然后匹配就行了。其实重要的考察的就是对于reverse的实现。其实我们可以利用现成的函数,将字符串转换成数组,这个思路很重要,我们可以拥有更多的自由度去进行字符串的一些操作function checkPalindrom(str) { retur

2021-06-24 09:50:43 410

原创 vue中实现数组对象去重

vue中实现数组对象去重 <el-button type="primary" size="medium" @click="quChong()">点击</el-button>quChong() { let arr = [ { id: 1, name: '111' }, { id: 1, name: '111' }, { id: 2, name: '22

2021-06-22 13:45:30 983

原创 自定义指令

自定义指令的用法除了核心功能默认内置的指令,Vue也允许注册自定义指令页面加载后,让文本框自动获取焦点,原生js做法是获取文本框元素后调用focus()方法,但Vue不建议手动操作DOM元素,所以此时要自定义指令这里需要注意的是v-on指令绑定focus事件的方式是实现不了上面需求的,区别就像onfocus和focus(),前者是事件绑定,当元素获得焦点时去执行事件处理函数,而后者是方法,调用后会让元素获得焦点,onclick和click()同理自定义全局指令Vue.directive( ’ 自定

2021-06-18 09:11:56 136

原创 angular中判断类型的方法

angular中判断类型的方法angular.isArray判断括号内的值是否为数组。格式:angular.isArray(value);value: 被判断是否为数组的值。angular.isDate判断括号内的值是否是一个时间。格式:angular.isDate(value);value:被判断是否为时间的值。angular.isDefined判断括号内的值是否存在。格式:angular.isDefined(value);value:被判断是否存在的值。angular.i

2021-06-10 15:39:13 865 1

原创 入门TS基础类型的理解

入门TS基础类型的理解基础类型篇ts基础类型 沿用jsjs就有的 ----布尔值,数字,字符串,Null 和 Undefined,数组,Objectjs没有的 ----Tuple,enum,Any,Void,Never,类型断言看一下具体的用法,基本都是变量后面跟一个 let xx:类型 = 值let decLiteral: number = 6; //十六,十,八,二(进制)let sentence: string = `Hello, my name is ${ name }.`let l

2021-06-10 09:41:34 295

转载 Angular之constructor和ngOnInit差异及适用场景

文章点击: link.

2021-05-28 11:26:44 148

原创 constructor 的private和public 区别和用途

constructor 的private和public 区别和用途公有,私有于受保护的修饰符默认为 public在上面的例子里,我们可以自由访问程序里定义的成员,在TypeScript里,成员默认为public,你也可以明确的将一个成员标记成public。class Animal { public name: string; public constructor(theName: string){ this.name = theName; } public move(d

2021-05-28 11:13:10 1186

原创 AngularJS入手了解

AngularJS入手介绍AngularJS 是一个 JavaScript 框架。它可通过 AngularJS 通过 指令 扩展了 HTML,且通过 表达式 绑定数据到 HTML。我们建议把脚本放在 元素的底部。这会提高网页加载速度,因为 HTML 加载不受制于脚本加载。angular示例<!DOCTYPE html><html><body><div ng-app=""> <p>在输入框中尝试输入:</p>

2021-05-27 13:54:32 170 2

原创 http请求了解

常用的状态码分类1xx 服务器收到请求2xx 请求成功,如2003xx 重定向,如3024xx 客户端错误,如4045xx 服务器错误,如500200成功301永久重定向(配合location,浏览器自动处理)就是浏览器会记住那个网址的301下次就直接不访问,302临时重定向(配合location,浏览器自动处理)302是一个临时的,304资源未被修改404资源未找到403没有权限500服务器器错误504网关超时现在的methodsget获取数据post新建数据

2021-03-29 09:38:53 118

原创 localStorage、sessionStorage、cookie储存

存储cookie本身用于浏览器和servercookie是被借用来的,之前是没有的,都是使用localStorage、sessionStorage这两种方法储存最大时4kbhttp请求时需要发送到服务器,增加请求数量只能用document。cookie = ”··“来修改,太过简陋localStorage数据会永久储存,除非手动删除这个用的一般会对一点sessionStorage关闭浏览器清空...

2021-03-25 08:06:50 77

原创 简易的ajax

ajax简易一般vue和一些小程序都是用人家封装好的请求方法,但是原生的ajax页不能少xhr.readyStatr中的状态码· 0 - (未初始化)还没有调用send()方法· 1 - (载入)已调用send()方法,正在发送请求· 2 - (载入完成)send方法执行完成,已经接收到全部相应内容· 3 - (交互) 正在解析相应内容· 4 - (完成)相应内容解析完成,可以在客户端调用xhr.status状态码· 2xx - 表示成功处理请求,如200· 3xx - 需要重定向,浏

2021-03-24 08:26:35 204 1

原创 事件

事件监听:就是监听一个事件是否变化 function removeEvent( obj,type,fn,capture ){ if( obj.removeEventListener ){ obj.removeEventListener(type,clickFn,true); }else{ obj.detachEvent("on"+ type,clickFn,true); } } rem

2021-03-23 08:06:31 88

转载 事件

1,什么是事件​ 事件是文档和浏览器窗口中发生的特定的交互瞬间,例如用户点击内容,鼠标经过特定的元素​ 以及按下某个键盘按键,web页面加载完成,用户滚动。都是事件2,什么是事件流​ 事件流描述的是从页面中接受事件的顺序,事件流分为事件冒泡 事件阶段 事件捕获​ 事件流分为事件冒泡流和事件捕获流​ 事件冒泡流 => ie提出的​ 事件捕获流 => 网景提出的​ 事件流三个阶段顺序 事件捕获 =>事件冒泡3,事

2021-03-22 07:48:38 63

转载 了解DOM,DOM操作和原型

1,DOM的本质:DOM可以理解为浏览器把拿到的html代码,结构化一个浏览器能识别并且js可操作的一个模型当网页被加载时,浏览器会创建页面的文档对象模型javascript能改变页面中的所有HTML元素javascrip能改变页面中的所有HTML属性javascrip能改变页面中的所有CSS样式javascrip能对页面中的所有事件做出反应DOM是哪种数据结构树(DOM树)DOM树形结构2, js获取DOM节点的几种方式document.getElementById(); //i

2021-03-22 07:48:00 522

转载 js执行顺序

1,event loop(事件轮询/事件循环)首先我们要知道 由于js是单线程的脚本,异步事件要基于回调来实现的而event loop 就是异步回调的实现原理1,js的执行顺序从前到后,一行一行执行如果有一行执行报错,就会停止下面代码的执行先执行同步代码,后执行异步举个例子这上面是一个js执行顺序的小案例上面是浏览器运行首先运行第一行代码,显示console.log(‘Hi’),然后清空调用栈。然后调用函数,函数会进入异步函数队列中最后执行log代码,然后清空然后

2021-03-22 07:43:47 2018

原创 同步、异步

同步异步同步和异步对比异步是基于单线程运行的同步会阻塞代码的运行,异步不会阻塞代码运行。Promise一般使用来操作ajax数据请求,解决了连续请求的嵌套函数,优化了页面不同的ajax方法Promise方法就是解决了一个回调地狱 的问题。...

2021-03-18 21:05:39 63

原创 变量作用域,闭包!!

1,作用域和自由变量作用域就是直接赋值的变量这个变量可以使用的区域,分为全局和局部,自由变量,只有var存在变量提升1,全局作用域不在任何函数内声明的变量(函数内省略var的也算全局)称作全局变量就是在最外层定义的变量就被称为全局变量.2,局部作用域在函数内声明的变量具有函数作用域,属于局部变量,就是在函数内部定义的变量,只在函数内部有用,所以是局部作用域。3,ES6的定义的块级作用域声明变量的方法 有var let constvar 声明的变量可以变量提升 变量提升是将变量的声明提升

2021-03-18 07:49:15 125

原创 vue事件、方法、双向绑定原理

开头为重点必会1,Vue 基础使用指令,插值插值,表达式指令,动态属性v-html:这个会有 XSS 风险,会覆盖子组件 (用了之后内部自己写的所有代码块都会被覆盖,失效)computed(计算) 和 watch(监听)vue计算属性computed 有缓存,data不变则不会重新计算(缓存意味着不用重复加载)当 dom 是通过 v-model 绑定时 要 get() 和 set() 否则会报错watch 深度监听watch 本身是浅度监听 如何深度监听?要用到 handl

2021-03-17 07:54:45 154

原创 typeof判断的数据类型的返回值

typeof判断的数据类型的返回值//numberconsole.log(typeof 123) //numberconsole.log(typeof NaN) //numberconsole.log(typeof 'abc') //stringconsole.log(typeof true) //booleanconsole.log(typeof undefined) //undefined//objectconsole.log(typeof null) // objectco

2021-03-15 21:58:04 1226

原创 垃圾回收机制

区别== 检查值相等, 允许类型转换:两个等号我们称为等值符,当等号两边的值为相同类型时比较值是否相同,类型不同时会发生类型的自动转换,转换为相同的类型后再作比较=== 检查值和类型相等, 不允许类型转换:三个等号我们称为等同符,当等号两边的值为相同类型的时候,直接比较等号两边的值,值相同则返回true,若等号两边的值类型不同时直接返回false垃圾回收机制js垃圾回收机制有引用计数和标记清除两种引用计数标量每被引用一次引用计数就会在元素的数字上个加1当每次引用结束后会减1 当引用次数为0

2021-03-14 21:52:11 61

原创 2021-03-14

== 跟 === 的区别== 检查值相等, 允许类型转换:两个等号我们称为等值符,当等号两边的值为相同类型时比较值是否相同,类型不同时会发生类型的自动转换,转换为相同的类型后再作比较=== 检查值和类型相等, 不允许类型转换:三个等号我们称为等同符,当等号两边的值为相同类型的时候,直接比较等号两边的值,值相同则返回true,若等号两边的值类型不同时直接返回false垃圾回收机制js垃圾回收机制有引用计数和标记清除两种引用计数标量每被引用一次引用计数就会在元素的数字上个加1当每次引用结束后

2021-03-14 21:49:41 65

原创 css中盒模型

1.盒模型什么是盒模型,每一个盒子都是由:内容区(content),填充区(padding),边框(border),外边界区(margin),四个部分组成2,盒子模型共有两种:分为标准模型和怪异模型标准模型:标准模型是很标准的计算一个盒子的区域一个块的总宽度(页面中占的宽度)= width + margin(左右) + padding(左右) + border(左右)怪异模型:只是大概分析了盒子,一个块的总宽度= width + margin(左右)(即width已经包含了padding和b

2021-03-14 21:29:51 71

原创 前端面试请求方式理解

js面试问题理解前端的面试是永无止尽的,只要想出题什么都可以出,但是他们考的点都不会变,外面只需要掌握里面的重点就行。1,发送url 到页面加载发生了什么就可以分成几个方面过程:1,DNS解析 (解析域名,解析出对应的IP地址)2, TCP连接 (三次握手在tcp连接中)3, 发送http请求4, 处理请求返回数据5, 渲染页面6, 连接结束还有就是理解三次握手四次回手三次握手(建立连接之前)1,第一次握手:客户端向服务端发送连接请求报文段;2,第二次握手:服务端收到连接

2021-03-14 21:23:16 120

原创 vue的性能优化

vue 的性能优化vue的性能优化分很多种,因为你要是细心的换好多地方都事可以减少代码,完成性能优化。一.源码优化1.代码组件化就是可以将一些重复使用的代码,一些可以重复使用的功能封装成组件,在用的地方引入。2、for循环设置key值在用v-for进行数据遍历渲染的时候,为每一项都设置唯一的key值,为了让Vue内部核心代码能更快地找到该条数据,当旧值和新值去对比的时候,可以更快的定位到diff。3、Vue路由设置成懒加载当首屏渲染的时候,能够加快渲染速度。5、可以使用keep-alive

2021-01-19 21:43:41 434

原创 Promise使用可以解决什么问题?async的使用?

Promise使用可以解决什么问题?async的使用?简介:Promise主要用于异步计算,可以让异步操作队列化,按照直接期望的结果。状态三个:pending(等待状态)fulfiled(成功状态)rejected(失败状态)状态一旦改变就不会在改变了,要么成功要么失败。两个参数:分别是resolve和reject,当状态发生变化成功会通过resolve返回成功结果,如果失败会通过reject返回失败结果。为了避免界面冻结(任务)同步:假设你去了一家饭店,找个位置,叫来服务员,这个时候

2021-01-16 20:53:29 161

原创 rem比例测试

rem比例测试css3规定:1rem的大小就是根元素html的font-size的值。通过设置 根元素<html>的font-size的大小,来控制整个html文档内的字体大小、元素宽高、内外边距等,根据移动设备的宽度大小来实现自适应,不同的设备都展示一致的页面效果。rem宽度比例 设计稿宽度 首先:1rem = 100px100vw = 750px所以1rem = 100vw / 7.5 = 13.333333333vw// 最后设置根元素font-size为13.333

2021-01-16 19:42:28 540

原创 关于js的单线程,事件循环,和微任务

关于js的单线程,事件循环,和微任务js单线程:就是在js中执行的顺序,就是js是单线程执行的,只能一个一个的执行,接下来我们来看看一些执行顺序。当然异步请求除外。所有的任务也可以分为:异步任务和同步任务。console.log("event start"); setTimeout(function () { console.log("setTimeout"); }); new Promise(function (resolve, reject) { cons

2021-01-14 20:00:30 105

原创 深拷贝浅拷贝,原型,类型校验,递归深拷贝

浅拷贝深拷贝,原型,类型校验,递归深拷贝浅拷贝:let top = { name: "赵云", }; let bom = "云中君"; function shallowCopy(src) { var newobj = {}; for (var prop in src) { if (src.hasOwnProperty(prop)) { newobj[prop] = src[prop]; } } return newobj;

2021-01-13 21:50:11 110

空空如也

空空如也

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

TA关注的人

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