自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

浅听记忆的博客

爱好和兴趣

  • 博客(63)
  • 资源 (2)
  • 收藏
  • 关注

原创 vue返回上一个页面再次拿其他数据进去该页面时无刷新

对于该问题我们在要进入的页面监听路由的变化// 比如要对type重新赋值请求,就得在监听路由的方法getpage里面进行赋值data(){ return{ type:"" }}created(){ this.getpage()}watch:{ '$route':"getpage" //需要处理数据的方法}mtthods:{...

2019-05-16 11:15:59 4454

原创 修改CSDN博客的昵称

1.点击右上角我的博客,进入下一个页面2.点击-管理博客-在下一个页面里面点击博客设置,在里面修改保存即可。。。。希望能帮助到有需要的人!!!!...

2018-03-18 10:22:50 1096 2

原创 知识点汇总

块元素弹性布局:flex定位:父元素position:relative1、绝对定位 + transform,translateX(-100px) translateY(-100px);2、绝对定位 + margin;3、绝对定位 + calc;grid:和flex一样table行内元素vuevue2:缺点:1、无法监听数组的变化,所以在vue底层改写了数组的几种原生方法2、不能监听没有定义的属性3、删除对象属性和添加无法响应式,需要借助$setvue3:相比vue2优点:1、可以监听整个

2022-06-28 19:11:55 270 1

原创 vue问题整理

!!!持续记载!!!对于组件,我们尽可能将组件设计为非受控组件对于不会咋变化的设计成受控组件也可,但很多时候我们的业务在变化,很多东西可能都改变了,这时候我们的受控组件无法改动,因为改动就会影响到其余使用的地方,虽然可以增加属性去控制,但明显不够灵活,也不利于拓展尽可能做到如下:因为在定义data数据里面你可能没有定义这个属性,导致无法进行响应式更新目前最大的问题可能就是这个,因为在响应式的时候劫持data数据,并没有拿到对应的属性,所以自然也不会在页面实现响应式更新...

2022-06-16 16:08:59 130

转载 DOM、CSS渲染解析过程

DOM解析过程如下为dom的解析图解解析的过程具体为:网络进程接收响应头(content-type),根据该字段来判定文件类型,假设值为‘text/html’为该请求创建渲染进程,并与网络进程建立数据通道,网络进程接收到的数据通过数据通道传递给渲染进程进而读取数据渲染进程读取的数据交给HTMLparser(渲染引擎内部模块)解析,解析器会动态接收字节流,将其解析为DOM字节流转化为DOM通过分词器(类似词法解析)将字节流转化为token(tag Token和文本Token)由图可

2022-03-02 17:10:26 1370

原创 git合并分支,将要被合并的分支commit合并为一个

合并可以使用git merge ( 等同于 git merge fast-forward)你要消除多余commit,可以加上参数 --no-ff 就是如 git merge --no-ff -m ‘日志信息’ dev(将dev合并到当前分支,生成一个新的commit)具体可以参考git合并分支...

2021-10-28 10:49:45 715

原创 setState是同步还是异步

关于setState附上官网地址一份setState描述其实探讨是否是同步还是异步这个问题很好理解能紧随其后拿到结果的可以认为同步(简单理解哈,一些场景暂不考虑,当然有一些属于异步的但是异步任务刚好都结束了,直接拿到了对应的结果)...

2021-09-03 10:43:32 3191

原创 promise的运用和实现

话不多说先贴上es6规范地址:ES6promise规范先来看看promise的定义:Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象。所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise 提供统一的 API,各种异步操作都可以用同样

2021-07-08 16:26:07 96

原创 scss常用语法整理

定义变量使用$theme-color: #f10215;$main-color: green;使用:main{ color:$theme;}mixin使用:将样式混入到其他地方使用scss文件中定义变量:例如@mixin border($deg,$1,$2,$3,$4){ // 定义的样式 // 听过角度deg去控制哪个方向是渐进色 border-image:-webkit-linear-gradient($deg, #FF8002, #B5C915, #5ABB91) $1,$

2021-06-17 18:07:12 376 2

原创 webpack开发loader和plugins

现如今webpack作为前端不可或缺的打包工具之一,它具有非常强大的功能,也需要我们慢慢开发,实际中我们涉及到的基本如下:配置项配置(loader、plugins)开发属于自己需求的loader或者plugins对于loader它其实更像是一个转换器,将我们拿到的资源经过我们特定的转换输出到外部使用,我们开发模板也比较简单,只是功能因项目而异:下面我简单将拿到的资源中的border实线换成虚线,简易的,没有做过多匹配关系test-loader/index.js:// 引入这个包是为了我们拿到

2021-06-04 18:29:31 158

原创 手动实现map

定义和用法map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。map() 方法按照原始数组元素顺序依次处理元素。注意: map() 不会对空数组进行检测。注意: map() 不会改变原始数组。要明白一个方法的实现,必须了解它的用法,才能一步一步去实现:map作为我们循环数组常用的方法之一,以下是其特性:它return有返回值出来拥有两个参数:function(回调函数)和 thisValue(传递给回调函数的对象)不会改变原数组接下来我们来实现这么个东西.

2021-06-04 17:56:56 535

原创 闭包 执行上下文 作用域链

闭包的概念总的来讲可以概括为:内层函数实现了一个对外部变量的引用,将外部变量长久的保存了下来通俗的讲闭包其实就是一个可以访问其他函数内部变量的函数。即一个定义在函数内部的函数,或者直接说闭包是个内嵌函数也可以。红宝书闭包的定义:闭包是指有权访问另外一个函数作用域中的变量的函数。MDN:一个函数和对其周围状态的引用捆绑在一起(或者说函数被引用包围),这样的组合就是闭包(closure)。也就是说,闭包让你可以在一个内层函数中访问到其外层函数的作用域。相关概念:执行上下文,作用域链执行上下文:(

2021-05-31 17:32:19 192

原创 webpack js兼容性处理

目前最新的代码规范很多都不能直接被浏览器识别访问,而借助webpack我们可以使用babel对js进行转换,将其变成浏览器可识别的代码其中就有个loader:babel-loader 而跟他一起使用的或者有依赖关系的还有其他的 @babel/core @babel/preset-env @babel/plugin-proposal-class-properties @babel/plugin-proposal-decorators 所以我们需要安装这些包cnpm i babel-loade...

2021-05-21 10:52:01 597

原创 webpack配置之postcss-loader和postcss-preset-env

在我们打包css的时候难免会遇到css的兼容性问题此时webpack提供了postcss-loader和对应插件postcss-preset-env而这两个东西的使用在webpack4和webpack5有些许不同 rules: [{ test: /\.css$/, use: [ // 'style-loader', \ // 取代

2021-05-20 18:44:08 4371 1

原创 vue源码之$on,$emit,$off

1.$emit$emit在vue中担当一个传递事件的角色,它将我们传递的事件派发到vm的事件系统中(vm._events),统一去管理派发的事件,源码如下Vue.prototype.$emit = function (event) { var vm = this; { var lowerCaseEvent = event.toLowerCase(); if (lowerCaseEvent !== event && vm._ev

2021-04-09 17:24:01 724

原创 盒模型

盒模型分为标准模型和IE模型标准的宽包括设置的padding+border+content(依随content往外扩)box-sizing:content-box而IE模型例如设置了宽100,padding20,border5,其实他的内容区content只有50宽,这个模型下面的合资宽就是设置的宽度(依随content往内挤)box-sizing:border-box...

2020-11-26 00:02:15 113

原创 react的this.setState的同步异步问题

// 在异步中同步更新 add=async()=>{ // setTimeout(() => { // this.setState({ // count:this.state.count+1 // }) // }); await this.setState({ count:this.state.count+1 }...

2020-11-25 23:07:05 767

原创 下拉选项太多,导致输入框响应很慢,延迟久

方案就是把所有的数据请求出来,利用下拉滚动条去二次添加数据,例如首次只展示100条,等下拉到底部时将接着的100条push到对应下拉展示的数组里// 目标事件是onPopupScrollthis.state={ pageIndex:1, // 第一页加载的 pageSize: 100, // 加载的数据间隔大小 scrollPage: 1, // 滚动的是第几次 keyWords:'', // 搜索的关键字 optionData:[], //

2020-10-22 14:35:27 937

原创 行为验证,极验二次验证

(function (global, factory) { "use strict"; if (typeof module === "object" && typeof module.exports === "object") { // CommonJS module.exports = global.document ? factory(global, true) : function (w).

2020-09-02 11:55:38 851

原创 call和apply实现原理

call:它的作用是改变调用者的this指向到指定的对象上面,并将调用者执行之后返回给自己var person = { fullName: function(city, country) { return this.firstName + " " + this.lastName + "," + city + "," + country; }}var person1 = { firstName:"Bill", lastName: "Gates"}person.fullNa

2020-08-27 14:46:26 834

原创 Object和Function

1. 首先Object和Function都是构造函数,而所有的构造函数的都是Function的实例对象. 因此Object是Function的实例对象2.Function.prototype是Object的实例对象3. 实例对象的原型(我们以__proto__来表示)会指向其构造函数的prototype属性, 因此 Object.__proto__ === Function.prototype, Function.__proto__ === Function.prototype, Function.p.

2020-08-24 14:24:37 1610 3

原创 vue响应式原理代码

数据劫持结合订阅者观察者模式,通过节点的改变,将对应的收集对应的观察者,去触发对应的节点更新let Global=null;const utils = { getValue(value,vm){ return vm.$data[value.trim()] }, setValue(value,vm,newValue){ vm.$data[value] = newValue }, model(node,value,vm){

2020-08-11 15:53:35 197

原创 IE兼容问题整理

1.后台返回的Blob文件流格式在ie和谷歌是不一样的: 谷歌的可能是 { size:74, type:"application/json" }, 而IE的是 { size:74, type:"application/json;charset=UTF-8" }2.下载文件需要判定是否是IE//下载文件export function dow...

2020-06-17 17:40:41 860

原创 IE请求兼容性问题

IE请求路径中无法识别中文字符,需要将参数进行转码const requestbody = encodeURI(`/bid/bond/updateInvestor?investorId=${baseId}&createUser=${12}&investorFullName1=${investorFullName}&investorSimpleName1=${investorSimpleName}&investorType=${investorType}&conta

2020-06-17 15:14:00 230

原创 IE下载或者导出不兼容问题处理

//下载文件export function downloadPDF(data, name = 'file.docx') { if (!data) { return } var blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8', }) if (isIE()) { window.

2020-06-17 11:36:53 363

原创 js比较时间的大小

parseTime(time){ let time1='' if(time){ time1 = time.replace("-","/"); } return time1}let start = '2020-06-11 16:18:10 'let end = '2020-06-11 16:18:10 'let time = parseTime(start)let end = parseTime(end)对比大小即可其他格式的可转换格式可.

2020-06-11 16:21:47 592

原创 git撤回上次commit

git reset HEAD~会保留本地修改文件

2020-05-27 20:44:48 565

原创 截取url上面的参数

getUrl(url) { var result = []; var query = url.split("?")[1]; var queryArr = query.split("&"); queryArr.forEach(function(item) { var obj = {}; var value = item.split("=")[1]; var ...

2020-05-18 14:40:15 233

原创 v8引擎内存回收

v8引擎的内存设置上限原因在于JavaScript在回收垃圾的时候会中断任务的执行,回收100M的大致需要3毫秒,如果这个内存不设置大小的话,JavaScript一直去使用这些内存,存在大量回收的时候可能中断整个程序的执行,这肯定不是我们想要的在浏览器中,它会时刻的检测你的内存使用情况,在你的内存接近满的时候,它会去查看有哪些变量是没用的可以回收的,直到实在没有可回收的引起内存问题的几个常...

2020-04-24 16:34:56 135

原创 事件的执行机制 事件循环

js代码的执行都是有顺序结构的,先执行同步任务在执行异步任务;而异步任务又分为宏任务和微任务;宏任务:setTimeout setInterval I/O script微任务:promise.then() process.nextTick例如以下代码:setTimeout(_ => console.log(4))new Promise(resolve =...

2020-04-24 15:24:20 600

原创 git合并分支通用操作

把一个分支的代码合并到指定分支上例如将dev分支的代码合并到master// 切换到master分支 git checkout master// 合并dev分支到master git merge devgit push

2020-04-17 09:58:59 126

原创 数组方法

数组的方法很多,像什么every():检测数组的每个元素是否都符合条件;some():检测数组元素中是否有元素符合指定条件;filter():检测数组元素,并返回符合一傲剑的所有元素的数组;map():通过指定函数处理数组的每个元素,并返回新数组。let arr = [1,2,3,4,5,6,7];let everyFor = arr.every( (item)=&...

2020-04-13 13:53:10 147

原创 ie下new Date(2020-02-02 12:12:12)类型的时间出现Invalid Date

let time = record.filingTimeEnd;time = time.replace(/-/g,':').replace(' ',':');time = time.split(':');let time1 = `${time[0]}/${time[1]-1}/${time[3]} ${time[3]}:${time[4]}`let newTimer = new Dat...

2020-04-13 11:25:18 1394

原创 react路径跳转

import { createHashHistory } from '/history'在某个事件或者方法里面使用class app extends Component { constructor(props,context){ super(props,context) this.state={ } } ...

2020-03-17 16:56:28 483

原创 如何判断一个对象里面的属性值都为空

const applyData = { name:'', age:''}let result = !Object.values(report).every(item => item === '');console.log(result) //false

2019-11-21 10:16:42 3664

原创 XMLHttpRequest: 网络错误 0x2efe, 由于出现错误 00002efe 而导致此项操作无法完成

ie下通过url拼接参数带中文的请求兼容性处理: 需要通过encodeURI将url转码,这样url不包含中文就可以请求成功 encodeURI(url)即可; 如...

2019-11-19 16:20:22 6891

原创 meta标签设置问题

<meta name="viewport" content="width=device-width, initial-scale=1"/>// content有以下属性值/* 1.width:可设置数值,也可设置字符(device-width) 2.initial-scale:设置页面的初始缩放值,为一个数字,可以带小数 3.minimum-scale:...

2019-07-18 17:32:15 164

原创 小程序选择列表

如下效果:使用小程序的方法wx.showActionSheet处理wxml: <view class='method'> <text class='left'>付费方式</text> <view class='right' bindtap='selectMethod'> <text>{{ m...

2019-06-28 16:18:13 1628

原创 数组格式转换

// 将["1","2","3"]这种数组转化成数值类型[1,2,3]var str = ["1","2","3"]str.map(Number)

2019-06-18 18:26:42 1136

原创 watch监听数据

data(){ return{ active:0 }},watch:{ active(old,newValue){ // old旧值;newValue新值 if(old!=0){ console.log('1111') } } }

2019-06-14 11:47:40 2325 1

node + express + knex连接MySql数据库实现图片上传等

node + express + knex连接MySql数据库实现图片上传等

2022-06-24

行为验证,二次极验认证

通过二次验证的方式让登陆更安全,通过二次验证的方式让登陆更安全,通过二次验证的方式让登陆更安全,通过二次验证的方式让登陆更安全,通过二次验证的方式让登陆更安全

2020-09-02

空空如也

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

TA关注的人

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