自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 下载xlsx表格 和 上传xlsx表格 方法 适用于vue react

exportXlsx函数下载xlsx,安装 npm i downxlsxdog -S引入 import { exportXlsx } from ‘downxlsxdog’调用格式 exportXlsx([‘表头字段’, ‘表头’],[{ key: ‘数据’, value: ‘数据’ }, ‘下载完成的名称.xlsx’]), xlsx后缀必填选项 。uploadData函数上传xlsx,引入 import { uploadData } from ‘downxlsxdog’调用格式 uplo

2020-08-28 15:13:08 706 2

原创 好用的翻牌器,定时器适用于react vue 等等

// npm i -S react-countup// import CountUp from 'react-countup'; <CountUp start={0} duration={2} separator=',' decimals={2} end={1000000.89} /> // 常用的集中属性// start 开始时间 duration 持续时间 separator 千分位隔离 decimals 小数位 end 结束时间...

2020-06-23 15:22:53 1028 3

原创 立即执行函数表达式

立即执行函数主要是为了防止全局变量污染const abc = (() => {console.log(’‘33333’’)})()

2020-06-12 16:20:29 175

原创 useState useEffect

hookimport React, { useState } from ‘react’const [count, setCount] = useState(1) // setCount调用改变值得方法例如 setCount(1) count取值即可import React, { useEffect } from ‘react’useEffect(() => {})[a,b] // 当ab改变时才会执行。如果不传的话相当于componentDidUpdate。...

2020-06-11 16:00:42 170

原创 代替componentWillReceiveProps的static getDerivedStateFromProps

代替componentWillReceiveProps(每次调用都会更新一下state。更新无关的父组件的state,声明周期会一直调用)// 把props里面的值放到state里面调用static getDerivedStateFromProps(nextProps, prevState) { if (nextProps.wy !== prevState.wy) { return { isLogin: nextProps.tx, }; } return null

2020-06-11 15:38:13 355

原创 dispath异步处理

dispath在请求接口后如果想要做某些判断的话,就在dispath({}).then(() => { alert(’兄弟们,虽然不是同一时间,但是同一地点‘))

2020-06-11 15:12:23 643

原创 请求方式拦截器

request.interceptors.request.use((url, options) => {const data = {url,options: { …options },};if (data.options.method.toUpperCase() === ‘POST’) {data.options.data = {tx: ‘’,…(op.options.data || {}),};}if (data.options.method.toUpperCase() ===

2020-06-11 15:01:19 730

原创 es6多层解构

对象解构const testData = { name:‘wy’,age:{tx:‘kq’} }const { age:{ tx } } = testDataalert(tx)数组解构const testData = [ {‘wy’:12}, {‘tx’: 13}]const [wy, tx] = testDataalert(wy,tx)

2020-06-11 14:55:43 1499

原创 http和https的差别

1.https不是免费的,需要花钱买证书。2.https是通过ssl加密传输的。安全性比较高。而http是明文传输。3.http用的端口是80,https是443http就是一种网络协议,它的客户端和服务器交流还是基于TCP协议。...

2019-08-27 18:14:48 126

原创 伪类元素本质

什么是伪类元素呢??????伪类元素的目的就是为了在选择器上实现需要的效果。伪类元素本质就是虽然逻辑上是元素的子标签,但实际上缺不存在文档树中。...

2019-08-18 17:27:17 122

原创 数组里面常用的一些方法总结

push()数组尾部添加pop()数组尾部删除shift()数组头部删除unshift()数组头部添加reverse() 反转数组、concat() 连接接数组slice(start,end)数组截取arr.splice(index , howmany , item1,…,itemX)arr.splice(index , howmany)截取制定元素howmany不为0arr.s...

2019-08-17 16:48:08 169

原创 浏览器进程与线程

浏览器是多进程(进程是cpu资源分配的最小单位)的,打开一个页面就相当于一个进程,有单线程(线程是cpu调度的最小单位)的进程,也有多线程的进程。浏览器进程中,最重要的及时渲染进程(浏览器内核)1…GUI渲染线程2.JS引擎线程3.事件触发线程4.定时触发器线程5.异步http请求线程...

2019-08-15 20:28:36 132

原创 async await

async 关键字放到函数前面 , 表示这个函数是异步的 ,不会阻碍后面任务的执行(返回是一个promise对象) async function timecheck() { return 'hello world' }console.log( timecheck())await 顾名思义 就是表示代码执行到这的时候需要等待await后面的任务执行完,才会...

2019-08-15 20:07:46 184

原创 session和cookie和tooken

cookie:由于http协议是无状态的,第一次向服务器发送请求后,信息并不会保存,下一次在发送请求,服务器就识别不了。cookie就是第一次发送请求后,后端返回给前端的标识。下一次发送请求带上coolie即可。(size:4kb)session:cookie是存储在本地浏览器,而session存储在服务器。(服务器使用session把用户的信息临时保存在了服务器上,用户离开网站后sessi...

2019-08-15 19:44:44 587

原创 前端页面性能优化

1.压缩css,js体积。2.尽量减少不必要的dom操作。3.图片不要保存在本地,尽量用外链4.尽量吧可以重复使用的部分抽离成组件。5.能缓存的请求,尽量缓存到本地。6.不要引入太多web字体...

2019-08-13 17:42:09 127

原创 伪类元素

常用的伪类元素清除浮动a:after{ content:"."; display:block; height:0; clear:both; visibility:hidden; }在支持 CSS 的浏览器中...

2019-08-13 12:08:51 494

原创 dom bom

1.BOM(Browser Object Model)是指浏览器对象模型,它使 JavaScript 有能力与浏览器进行“对话”。2.DOM (Document Object Model)是指文档对象模型,通过它,可以访问HTML文档的所有元素。...

2019-08-07 11:52:07 198

原创 js作用域

1.概念全局变量:函数外声明的变量,称为全局变量局部变量:函数内部使用var声明的变量,称为局部变量全局变量访问不了函数内部变量,因为每次函数执行完后,就会把内部变量清除。2.在js中只有函数作用域,也就是说,只有局部变量。if/for等有{}的结构体,并不能具备自己的作用域。3.可以使用闭包让函数d可以访问abc里面的变量函数变量会被保存在内存中(abc是d的父函数,相当于abc...

2019-08-07 11:17:44 189

原创 浏览器缓存

浏览器缓存分类:1.强缓存()不会向服务器发送请求,直接缓存(强缓存是利用http的返回头中的Expires或者Cache-Control两个字段来控制的,用来表示资源的缓存时间)2.协商缓存会向服务器发送请求(服务器根据http头信息中的Last-Modify/If-Modify-Since或Etag/If-None-Match来判断是否命中协商缓存)...

2019-08-05 20:15:18 102

原创 js异步(队列)

1.js是单线程的(一个时间内只能干一件事)2. 存在任务队列 首先执行同步的,执行完再执行异步3.for (var i = 0; i < 4; i++) { setTimeout(function () { console.log(i); }, 1000); } 打印4次4 因为setTime...

2019-08-05 19:42:25 816

原创 csrf攻击和xss(万恶之源)

1.可视化图直观如图所示,用户首先要登录网站,然后网站生成一个cookie,下发给用户。用户禁不住诱惑,访问b网站,然后点击了不该点击的。那么用户就不经意之间进入了a网站。网站通过这种方法,调用bug接口,实现侵犯正义。(添加token认证即可)xss :比如用户在输入框中输入一段script标签,进而实现侵犯。就是类似于这种方法。解决放法:转义标签就可以。...

2019-08-05 19:33:19 159

原创 通信

1.ajax实现过程var request = new XMLHttpRequest()传建一个请求对象request.open('get', '',false)配置请求里面的信息request.onreadystatechange = function () {设置一个处理请求信息的函数 if(request.readyState == 4&&request....

2019-08-05 19:25:09 154

原创 js中的面向对象。

1.js中的面向对象就是类,而类中关键的就是继承2.首先声明一个类var Gandparent = function(){this.game = “play”}3.构造函数实现继承<script type="text/javascript"> function Grandparent () { this.name = "zhangsan" ...

2019-08-05 18:59:17 103

原创 原型链

1.构造函数的实例会自动正在原型上寻找方法2.M.proto === Function.prototype(true) M构造函数是Function New出来的实例3.new一个对象被new的时候,它继承了构造函数的原型(M.prototype)同时this的上下文指向了new出来的实例...

2019-08-05 18:12:22 91

原创 http协议

1.http协议的特点1.简单快速:向服务器发送请求时,只需要请求方式和路径即可2.灵活:可以传输任意类型的数据。3.无连接:连接一次服务器就断开了4.无状态:请求的信息不会缓存,下一次请求还要重新发起2.http请求和响应1.http请求组成: 请求行(包含url,要传输的数据,请求方法,http协议)+请求头(一些常见的key:value)+空行(表示请求头结束 这个空行是必...

2019-08-05 17:54:30 74

原创 dom事件的捕获和冒泡

1.DOM事件捕获的具体流程window->document(根节点)->html->body->具体元素2.DOM自定义事件 var eve = new Event('test'); ev.addEventListener('test', function () { console.log('test dispat...

2019-08-05 17:16:18 130

原创 css方面的知识

1.css的三栏布局:总共有5中方法:1.flaot使用float进行布局2.flex布局:中间元素flex:13.定位4.table布局:子元素display:table-cell5.网格布局width:100%;display: grid;grid-template-rows: 100px;grid-template-columns: 300px auto 300px;...

2019-08-05 16:55:50 86

原创 undefined 和 null

最近有好多小伙伴问我 undefined 和 null 的区别,那我就在这总结一下吧1.先从类型说起console.log(typeof(undefined)); //undefinedconsole.log(typeof(null)); //object...

2019-08-02 14:01:45 128

原创 js中的call和play

call传参和apply传参的方式不同b.call(a,1,2);var arr = [1,2];b.apply(a,arr);

2019-08-01 19:07:47 1925

原创 promise简述

1.promise的基本格式new Promise(test).then(function (result) {//test是函数 console.log('成功:' + result);}).catch(function (reason) { console.log('失败:' + reason);});2.有若干个异步任务,需要先做任务1,如果成功后再做任务2,任何...

2019-08-01 12:09:35 423

原创 css遇到的问题,以及解决方案

1.常用的几个图片类型:1.png是便携式网络图片(Portable Network Graphics)是一种无损数据压缩位图文件格式.优点是:压缩比高,色彩好。 大多数地方都可以用。2.jpg是一种针对相片使用的一种失真压缩方法,是一种破坏性的压缩,在色调及颜色平滑变化做的不错。在www上,被用来储存和传输照片的格式。3.gif是一种位图文件格式,以8位色重现真色彩的图像。可以实现动画...

2019-07-30 17:37:43 562

原创 常用通用的正则表达式(手机号,邮箱)

手机号:(/^1[3456789]\d{9}$/.test(phone))邮箱:/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/身份证:/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|...

2019-07-19 17:45:40 2429

原创 js中的几种排序

1.冒泡排序比较简单的写法: function bubbleArra(a) { let arr = a; let length = arr.length; while (length) { 数组有多长就循环几次进行左右比较,每次比较就会找到一个最大的放到最后 ...

2019-07-19 15:37:40 2670

原创 vue 中的keep-alive

keep-alive 是 Vue 内置的一个组件,可以使被包含的组件保留状态,或避免重新渲染。<keep-alive> <component> <!-- 该组件将被缓存! --> </component></keep-alive><keep-alive include="a">//name = a的组建...

2019-07-19 13:55:24 115

原创 关于vue的几点面试题(vue双向数据绑定和深拷贝浅拷贝之间的区别)

1.vue的双向数据绑定:实现mvvm的双向绑定,是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。vue的双向数据绑定整合了整合Observer,Compile和Watcher三者,通过Observer监听数据的变化,通过Compile来编辑解析指令,通过...

2019-07-19 11:50:46 1382 1

翻译 随机打乱数组顺序

function randomsort(a, b) {return Math.random() > .5 ? -1 : 1; } this.questionArray.sort(randomsort)

2019-07-18 18:27:17 920

原创 微信小程序ios低版本 flex-wrap 不生效解决方案

可以换种思路 ,直接用display:inline-block 给元素一定的宽度百分比;例如一行三个元素:子元素设置with:33.3%即可

2019-07-18 17:19:14 1324

原创 vue刷新初始化组建里面的data

Object.assign(this.data,this.data, this.data,this.options.data()) 即可如果数据没有渲染成功 this.$forceUpdate();

2019-07-18 16:44:21 398

原创 小程序的授权登录

小程序可以改变手机号的授权登录按钮功能https://github.com/wangleigege/-vue-mpvue

2019-07-16 21:44:42 237

原创 数组过滤函数

写了几个过滤数组的函数 比较零散 但也很实用:https://github.com/wangleigege/-vue

2019-07-16 21:40:08 295

空空如也

空空如也

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

TA关注的人

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